summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2016-11-08 02:33:04 +0800
committerLin Jen-Shin <godfat@godfat.org>2016-11-08 02:33:04 +0800
commit590d61a2de453b2359c81f7070caae09df6e788d (patch)
treebcfcd74e7bcf7afd283a9f0e4ab88cf9ad07ed35
parent18a71c47603d703de73c46fef4889887f685bebe (diff)
downloadgitlab-ce-590d61a2de453b2359c81f7070caae09df6e788d.tar.gz
Also show latest pipeline for ImageForBuildService
-rw-r--r--app/services/ci/image_for_build_service.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/app/services/ci/image_for_build_service.rb b/app/services/ci/image_for_build_service.rb
index 75d847d5bee..17ce95073cb 100644
--- a/app/services/ci/image_for_build_service.rb
+++ b/app/services/ci/image_for_build_service.rb
@@ -1,11 +1,18 @@
module Ci
class ImageForBuildService
def execute(project, opts)
- sha = opts[:sha] || ref_sha(project, opts[:ref])
+ ref = opts[:ref]
+ sha = opts[:sha] || ref_sha(project, ref)
pipelines = project.pipelines.where(sha: sha)
- pipelines = pipelines.where(ref: opts[:ref]) if opts[:ref]
- image_name = image_for_status(pipelines.status)
+
+ latest_pipeline = if ref
+ pipelines.latest_for(ref)
+ else
+ pipelines.latest
+ end.first
+
+ image_name = image_for_status(latest_pipeline.status)
image_path = Rails.root.join('public/ci', image_name)
OpenStruct.new(path: image_path, name: image_name)