diff options
-rw-r--r-- | app/controllers/builds_controller.rb | 7 | ||||
-rw-r--r-- | app/models/build.rb | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/app/controllers/builds_controller.rb b/app/controllers/builds_controller.rb index 523437d..a0eed73 100644 --- a/app/controllers/builds_controller.rb +++ b/app/controllers/builds_controller.rb @@ -32,12 +32,7 @@ class BuildsController < ApplicationController end def retry - build = project.builds.create( - sha: @build.sha, - before_sha: @build.before_sha, - push_data: @build.commit.push_data, - ref: @build.ref - ) + build = Build.retry(@build) redirect_to project_build_path(project, build) end diff --git a/app/models/build.rb b/app/models/build.rb index b770356..968ac03 100644 --- a/app/models/build.rb +++ b/app/models/build.rb @@ -55,6 +55,10 @@ class Build < ActiveRecord::Base new_build.save end + def self.retry(build) + Build.create(commit_id: build.commit_id) + end + state_machine :status, initial: :pending do event :run do transition pending: :running |