Commit 2fe8ebc1 authored by Lin Jen-Shin's avatar Lin Jen-Shin

We need INNER JOIN to get the right pipeline,

also added a test for checking this.
parent 3925436a
...@@ -431,7 +431,7 @@ class Project < ActiveRecord::Base ...@@ -431,7 +431,7 @@ class Project < ActiveRecord::Base
# ref can't be HEAD, can only be branch/tag name or SHA # ref can't be HEAD, can only be branch/tag name or SHA
def latest_successful_builds_for(ref = default_branch) def latest_successful_builds_for(ref = default_branch)
builds.where(pipeline: pipelines.latest_successful_for(ref)). Ci::Build.joins(:pipeline).merge(pipelines.latest_successful_for(ref)).
latest_successful_with_artifacts latest_successful_with_artifacts
end end
......
...@@ -256,14 +256,17 @@ describe API::API, api: true do ...@@ -256,14 +256,17 @@ describe API::API, api: true do
context 'with latest pipeline' do context 'with latest pipeline' do
before do before do
pipelines = Array.new(3).map do # creating some old pipelines old_pipelines = Array.new(3).map do # creating some old pipelines
create(:ci_pipeline, status: 'success') create(:ci_pipeline, status: 'success')
end end
pipelines.reverse_each do |pipe| old_pipelines.reverse_each do |pipe|
new_build = create(:ci_build, :success, pipeline: pipe) old_build = create(:ci_build, :success, pipeline: pipe)
new_build.update(artifacts_file: another_artifacts) old_build.update(artifacts_file: another_artifacts)
end end
wrong_build = create(:ci_build, :success, pipeline: pipeline)
wrong_build.update(artifacts_file: another_artifacts)
end end
before do before do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment