Reverse ref and sha in args and rename pipeline to pipeline_for
This commit is contained in:
parent
517249858e
commit
4b559c9afb
8 changed files with 12 additions and 10 deletions
|
@ -666,7 +666,8 @@ class MergeRequest < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def pipeline
|
def pipeline
|
||||||
@pipeline ||= source_project.pipeline(diff_head_sha, source_branch) if diff_head_sha && source_project
|
return unless diff_head_sha && source_project
|
||||||
|
@pipeline ||= source_project.pipeline_for(source_branch, diff_head_sha)
|
||||||
end
|
end
|
||||||
|
|
||||||
def merge_commit
|
def merge_commit
|
||||||
|
|
|
@ -1086,12 +1086,13 @@ class Project < ActiveRecord::Base
|
||||||
!namespace.share_with_group_lock
|
!namespace.share_with_group_lock
|
||||||
end
|
end
|
||||||
|
|
||||||
def pipeline(sha, ref)
|
def pipeline_for(ref, sha)
|
||||||
pipelines.order(id: :desc).find_by(sha: sha, ref: ref)
|
pipelines.order(id: :desc).find_by(sha: sha, ref: ref)
|
||||||
end
|
end
|
||||||
|
|
||||||
def ensure_pipeline(sha, ref, current_user = nil)
|
def ensure_pipeline(ref, sha, current_user = nil)
|
||||||
pipeline(sha, ref) || pipelines.create(sha: sha, ref: ref, user: current_user)
|
pipeline_for(ref, sha) ||
|
||||||
|
pipelines.create(sha: sha, ref: ref, user: current_user)
|
||||||
end
|
end
|
||||||
|
|
||||||
def enable_ci
|
def enable_ci
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
- @related_branches.each do |branch|
|
- @related_branches.each do |branch|
|
||||||
%li
|
%li
|
||||||
- target = @project.repository.find_branch(branch).target
|
- target = @project.repository.find_branch(branch).target
|
||||||
- pipeline = @project.pipeline(target.sha, branch) if target
|
- pipeline = @project.pipeline_for(branch, target.sha) if target
|
||||||
- if pipeline
|
- if pipeline
|
||||||
%span.related-branch-ci-status
|
%span.related-branch-ci-status
|
||||||
= render_pipeline_status(pipeline)
|
= render_pipeline_status(pipeline)
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Gitlab::Seeder::Builds
|
||||||
commits = @project.repository.commits('master', limit: 5)
|
commits = @project.repository.commits('master', limit: 5)
|
||||||
commits_sha = commits.map { |commit| commit.raw.id }
|
commits_sha = commits.map { |commit| commit.raw.id }
|
||||||
commits_sha.map do |sha|
|
commits_sha.map do |sha|
|
||||||
@project.ensure_pipeline(sha, 'master')
|
@project.ensure_pipeline('master', sha)
|
||||||
end
|
end
|
||||||
rescue
|
rescue
|
||||||
[]
|
[]
|
||||||
|
|
|
@ -64,7 +64,7 @@ module API
|
||||||
ref = branches.first
|
ref = branches.first
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline = @project.ensure_pipeline(commit.sha, ref, current_user)
|
pipeline = @project.ensure_pipeline(ref, commit.sha, current_user)
|
||||||
|
|
||||||
name = params[:name] || params[:context]
|
name = params[:name] || params[:context]
|
||||||
status = GenericCommitStatus.running_or_pending.find_by(pipeline: pipeline, name: name, ref: params[:ref])
|
status = GenericCommitStatus.running_or_pending.find_by(pipeline: pipeline, name: name, ref: params[:ref])
|
||||||
|
|
|
@ -688,7 +688,7 @@ describe Project, models: true do
|
||||||
let(:project) { create :project }
|
let(:project) { create :project }
|
||||||
let(:pipeline) { create :ci_pipeline, project: project, ref: 'master' }
|
let(:pipeline) { create :ci_pipeline, project: project, ref: 'master' }
|
||||||
|
|
||||||
subject { project.pipeline(pipeline.sha, 'master') }
|
subject { project.pipeline_for('master', pipeline.sha) }
|
||||||
|
|
||||||
it { is_expected.to eq(pipeline) }
|
it { is_expected.to eq(pipeline) }
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ describe API::API, api: true do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns status for CI" do
|
it "returns status for CI" do
|
||||||
pipeline = project.ensure_pipeline(project.repository.commit.sha, 'master')
|
pipeline = project.ensure_pipeline('master', project.repository.commit.sha)
|
||||||
get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}", user)
|
get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}", user)
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
expect(json_response['status']).to eq(pipeline.status)
|
expect(json_response['status']).to eq(pipeline.status)
|
||||||
|
|
|
@ -5,7 +5,7 @@ module Ci
|
||||||
let(:service) { ImageForBuildService.new }
|
let(:service) { ImageForBuildService.new }
|
||||||
let(:project) { FactoryGirl.create(:empty_project) }
|
let(:project) { FactoryGirl.create(:empty_project) }
|
||||||
let(:commit_sha) { '01234567890123456789' }
|
let(:commit_sha) { '01234567890123456789' }
|
||||||
let(:commit) { project.ensure_pipeline(commit_sha, 'master') }
|
let(:commit) { project.ensure_pipeline('master', commit_sha) }
|
||||||
let(:build) { FactoryGirl.create(:ci_build, pipeline: commit) }
|
let(:build) { FactoryGirl.create(:ci_build, pipeline: commit) }
|
||||||
|
|
||||||
describe '#execute' do
|
describe '#execute' do
|
||||||
|
|
Loading…
Reference in a new issue