summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-04-12 11:15:19 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-04-12 11:15:19 +0200
commit1ae797c22900a6e32d63883f6a2d76c498e20d9b (patch)
tree3d60a1eada0ebd15d4f5c74cbdecd979ca44801e
parentac50f9dddfb4555a2c356454c1cbfc1cc0b37d6d (diff)
downloadgitlab-ce-1ae797c22900a6e32d63883f6a2d76c498e20d9b.tar.gz
Fix create_next_builds method
-rw-r--r--app/models/ci/commit.rb6
-rw-r--r--lib/ci/status.rb19
2 files changed, 3 insertions, 22 deletions
diff --git a/app/models/ci/commit.rb b/app/models/ci/commit.rb
index 2ab1fefe8e1..94951ced1fd 100644
--- a/app/models/ci/commit.rb
+++ b/app/models/ci/commit.rb
@@ -116,12 +116,12 @@ module Ci
next_stages.delete(build.stage)
# get status for all prior builds
- prior_builds = latest_builds.reject { |other_build| next_stages.include?(other_build.stage) }
- status = prior_builds.status
+ prior_builds = latest_builds.where.not(stage: next_stages)
+ prior_status = prior_builds.status
# create builds for next stages based
next_stages.any? do |stage|
- CreateBuildsService.new(self).execute(stage, build.user, status, build.trigger_request).present?
+ CreateBuildsService.new(self).execute(stage, build.user, prior_status, build.trigger_request).present?
end
end
diff --git a/lib/ci/status.rb b/lib/ci/status.rb
deleted file mode 100644
index 3fb1fe29494..00000000000
--- a/lib/ci/status.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-module Ci
- class Status
- def self.get_status(statuses)
- if statuses.none?
- 'skipped'
- elsif statuses.all? { |status| status.success? || status.ignored? }
- 'success'
- elsif statuses.all?(&:pending?)
- 'pending'
- elsif statuses.any?(&:running?) || statuses.any?(&:pending?)
- 'running'
- elsif statuses.all?(&:canceled?)
- 'canceled'
- else
- 'failed'
- end
- end
- end
-end