summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2016-08-11 17:26:04 +0800
committerLin Jen-Shin <godfat@godfat.org>2016-08-11 17:26:04 +0800
commit4b559c9afb34b80b910efec514653c6ea65adba8 (patch)
tree7470c474011876afc98770617c22eec0b1dbe3b4
parent517249858e41694f51b67461b313d5a34c2a466c (diff)
downloadgitlab-ce-4b559c9afb34b80b910efec514653c6ea65adba8.tar.gz
Reverse ref and sha in args and rename pipeline to pipeline_for
-rw-r--r--app/models/merge_request.rb3
-rw-r--r--app/models/project.rb7
-rw-r--r--app/views/projects/issues/_related_branches.html.haml2
-rw-r--r--db/fixtures/development/14_builds.rb2
-rw-r--r--lib/api/commit_statuses.rb2
-rw-r--r--spec/models/project_spec.rb2
-rw-r--r--spec/requests/api/commits_spec.rb2
-rw-r--r--spec/services/ci/image_for_build_service_spec.rb2
8 files changed, 12 insertions, 10 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index b1fb3ce5d69..7c8e938df75 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -666,7 +666,8 @@ class MergeRequest < ActiveRecord::Base
end
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
def merge_commit
diff --git a/app/models/project.rb b/app/models/project.rb
index d306f86f783..dc9b4b38a10 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1086,12 +1086,13 @@ class Project < ActiveRecord::Base
!namespace.share_with_group_lock
end
- def pipeline(sha, ref)
+ def pipeline_for(ref, sha)
pipelines.order(id: :desc).find_by(sha: sha, ref: ref)
end
- def ensure_pipeline(sha, ref, current_user = nil)
- pipeline(sha, ref) || pipelines.create(sha: sha, ref: ref, user: current_user)
+ def ensure_pipeline(ref, sha, current_user = nil)
+ pipeline_for(ref, sha) ||
+ pipelines.create(sha: sha, ref: ref, user: current_user)
end
def enable_ci
diff --git a/app/views/projects/issues/_related_branches.html.haml b/app/views/projects/issues/_related_branches.html.haml
index 6ea9f612d13..a8eeab3e55e 100644
--- a/app/views/projects/issues/_related_branches.html.haml
+++ b/app/views/projects/issues/_related_branches.html.haml
@@ -5,7 +5,7 @@
- @related_branches.each do |branch|
%li
- 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
%span.related-branch-ci-status
= render_pipeline_status(pipeline)
diff --git a/db/fixtures/development/14_builds.rb b/db/fixtures/development/14_builds.rb
index e65abe4ef77..6cc18bf51ed 100644
--- a/db/fixtures/development/14_builds.rb
+++ b/db/fixtures/development/14_builds.rb
@@ -40,7 +40,7 @@ class Gitlab::Seeder::Builds
commits = @project.repository.commits('master', limit: 5)
commits_sha = commits.map { |commit| commit.raw.id }
commits_sha.map do |sha|
- @project.ensure_pipeline(sha, 'master')
+ @project.ensure_pipeline('master', sha)
end
rescue
[]
diff --git a/lib/api/commit_statuses.rb b/lib/api/commit_statuses.rb
index 4df6ca8333e..5e3c9563703 100644
--- a/lib/api/commit_statuses.rb
+++ b/lib/api/commit_statuses.rb
@@ -64,7 +64,7 @@ module API
ref = branches.first
end
- pipeline = @project.ensure_pipeline(commit.sha, ref, current_user)
+ pipeline = @project.ensure_pipeline(ref, commit.sha, current_user)
name = params[:name] || params[:context]
status = GenericCommitStatus.running_or_pending.find_by(pipeline: pipeline, name: name, ref: params[:ref])
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 9c3b4712cab..60819fe02be 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -688,7 +688,7 @@ describe Project, models: true do
let(:project) { create :project }
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) }
diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb
index 4379fcb3c1e..60c2f14bd3c 100644
--- a/spec/requests/api/commits_spec.rb
+++ b/spec/requests/api/commits_spec.rb
@@ -94,7 +94,7 @@ describe API::API, api: true do
end
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)
expect(response).to have_http_status(200)
expect(json_response['status']).to eq(pipeline.status)
diff --git a/spec/services/ci/image_for_build_service_spec.rb b/spec/services/ci/image_for_build_service_spec.rb
index 3a3e3efe709..21e00b11a12 100644
--- a/spec/services/ci/image_for_build_service_spec.rb
+++ b/spec/services/ci/image_for_build_service_spec.rb
@@ -5,7 +5,7 @@ module Ci
let(:service) { ImageForBuildService.new }
let(:project) { FactoryGirl.create(:empty_project) }
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) }
describe '#execute' do