Merge branch 'rename-ci-commit-phase-3' into 'master'
Rename ci_commit in application code This is third iteration of renaming `[ci_]commit(s)` in application code to `pipeline(s)`. See merge request !4464
This commit is contained in:
commit
8c356ac550
17 changed files with 91 additions and 91 deletions
|
@ -99,12 +99,12 @@ class Projects::CommitController < Projects::ApplicationController
|
||||||
@commit ||= @project.commit(params[:id])
|
@commit ||= @project.commit(params[:id])
|
||||||
end
|
end
|
||||||
|
|
||||||
def ci_commits
|
def pipelines
|
||||||
@ci_commits ||= project.pipelines.where(sha: commit.sha)
|
@pipelines ||= project.pipelines.where(sha: commit.sha)
|
||||||
end
|
end
|
||||||
|
|
||||||
def ci_builds
|
def ci_builds
|
||||||
@ci_builds ||= Ci::Build.where(pipeline: ci_commits)
|
@ci_builds ||= Ci::Build.where(pipeline: pipelines)
|
||||||
end
|
end
|
||||||
|
|
||||||
def define_show_vars
|
def define_show_vars
|
||||||
|
@ -117,8 +117,8 @@ class Projects::CommitController < Projects::ApplicationController
|
||||||
@diff_refs = [commit.parent || commit, commit]
|
@diff_refs = [commit.parent || commit, commit]
|
||||||
@notes_count = commit.notes.count
|
@notes_count = commit.notes.count
|
||||||
|
|
||||||
@statuses = CommitStatus.where(pipeline: ci_commits)
|
@statuses = CommitStatus.where(pipeline: pipelines)
|
||||||
@builds = Ci::Build.where(pipeline: ci_commits)
|
@builds = Ci::Build.where(pipeline: pipelines)
|
||||||
end
|
end
|
||||||
|
|
||||||
def assign_change_commit_vars(mr_source_branch)
|
def assign_change_commit_vars(mr_source_branch)
|
||||||
|
|
|
@ -317,8 +317,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
||||||
|
|
||||||
@merge_request_diff = @merge_request.merge_request_diff
|
@merge_request_diff = @merge_request.merge_request_diff
|
||||||
|
|
||||||
@ci_commit = @merge_request.pipeline
|
@pipeline = @merge_request.pipeline
|
||||||
@statuses = @ci_commit.statuses if @ci_commit
|
@statuses = @pipeline.statuses if @pipeline
|
||||||
|
|
||||||
if @merge_request.locked_long_ago?
|
if @merge_request.locked_long_ago?
|
||||||
@merge_request.unlock_mr
|
@merge_request.unlock_mr
|
||||||
|
@ -327,8 +327,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def define_widget_vars
|
def define_widget_vars
|
||||||
@ci_commit = @merge_request.pipeline
|
@pipeline = @merge_request.pipeline
|
||||||
@ci_commits = [@ci_commit].compact
|
@pipelines = [@pipeline].compact
|
||||||
closes_issues
|
closes_issues
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
module CiStatusHelper
|
module CiStatusHelper
|
||||||
def ci_status_path(ci_commit)
|
def ci_status_path(pipeline)
|
||||||
project = ci_commit.project
|
project = pipeline.project
|
||||||
builds_namespace_project_commit_path(project.namespace, project, ci_commit.sha)
|
builds_namespace_project_commit_path(project.namespace, project, pipeline.sha)
|
||||||
end
|
end
|
||||||
|
|
||||||
def ci_status_with_icon(status, target = nil)
|
def ci_status_with_icon(status, target = nil)
|
||||||
|
|
|
@ -7,14 +7,14 @@ module Ci
|
||||||
# check if ref is tag
|
# check if ref is tag
|
||||||
tag = project.repository.find_tag(ref).present?
|
tag = project.repository.find_tag(ref).present?
|
||||||
|
|
||||||
ci_commit = project.pipelines.create(sha: commit.sha, ref: ref, tag: tag)
|
pipeline = project.pipelines.create(sha: commit.sha, ref: ref, tag: tag)
|
||||||
|
|
||||||
trigger_request = trigger.trigger_requests.create!(
|
trigger_request = trigger.trigger_requests.create!(
|
||||||
variables: variables,
|
variables: variables,
|
||||||
commit: ci_commit,
|
commit: pipeline,
|
||||||
)
|
)
|
||||||
|
|
||||||
if ci_commit.create_builds(nil, trigger_request)
|
if pipeline.create_builds(nil, trigger_request)
|
||||||
trigger_request
|
trigger_request
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,9 +3,9 @@ module Ci
|
||||||
def execute(project, opts)
|
def execute(project, opts)
|
||||||
sha = opts[:sha] || ref_sha(project, opts[:ref])
|
sha = opts[:sha] || ref_sha(project, opts[:ref])
|
||||||
|
|
||||||
ci_commits = project.pipelines.where(sha: sha)
|
pipelines = project.pipelines.where(sha: sha)
|
||||||
ci_commits = ci_commits.where(ref: opts[:ref]) if opts[:ref]
|
pipelines = pipelines.where(ref: opts[:ref]) if opts[:ref]
|
||||||
image_name = image_for_status(ci_commits.status)
|
image_name = image_for_status(pipelines.status)
|
||||||
|
|
||||||
image_path = Rails.root.join('public/ci', image_name)
|
image_path = Rails.root.join('public/ci', image_name)
|
||||||
OpenStruct.new(path: image_path, name: image_name)
|
OpenStruct.new(path: image_path, name: image_name)
|
||||||
|
|
|
@ -20,12 +20,12 @@ class CreateCommitBuildsService
|
||||||
|
|
||||||
pipeline = Ci::Pipeline.new(project: project, sha: sha, ref: ref, before_sha: before_sha, tag: tag)
|
pipeline = Ci::Pipeline.new(project: project, sha: sha, ref: ref, before_sha: before_sha, tag: tag)
|
||||||
|
|
||||||
# Skip creating ci_commit when no gitlab-ci.yml is found
|
# Skip creating pipeline when no gitlab-ci.yml is found
|
||||||
unless pipeline.ci_yaml_file
|
unless pipeline.ci_yaml_file
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
# Create a new ci_commit
|
# Create a new pipeline
|
||||||
pipeline.save!
|
pipeline.save!
|
||||||
|
|
||||||
# Skip creating builds for commits that have [ci skip]
|
# Skip creating builds for commits that have [ci skip]
|
||||||
|
|
|
@ -20,10 +20,10 @@ module MergeRequests
|
||||||
|
|
||||||
# Triggers the automatic merge of merge_request once the build succeeds
|
# Triggers the automatic merge of merge_request once the build succeeds
|
||||||
def trigger(commit_status)
|
def trigger(commit_status)
|
||||||
each_merge_request(commit_status) do |merge_request, ci_commit|
|
each_merge_request(commit_status) do |merge_request, pipeline|
|
||||||
next unless merge_request.merge_when_build_succeeds?
|
next unless merge_request.merge_when_build_succeeds?
|
||||||
next unless merge_request.mergeable?
|
next unless merge_request.mergeable?
|
||||||
next unless ci_commit.success?
|
next unless pipeline.success?
|
||||||
|
|
||||||
MergeWorker.perform_async(merge_request.id, merge_request.merge_user_id, merge_request.merge_params)
|
MergeWorker.perform_async(merge_request.id, merge_request.merge_user_id, merge_request.merge_params)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
- @ci_commits.each do |ci_commit|
|
- @pipelines.each do |pipeline|
|
||||||
= render "ci_commit", ci_commit: ci_commit, pipeline_details: true
|
= render "pipeline", pipeline: pipeline, pipeline_details: true
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
.row-content-block.build-content.middle-block
|
|
||||||
.pull-right
|
|
||||||
- if can?(current_user, :update_pipeline, ci_commit.project)
|
|
||||||
- if ci_commit.builds.latest.failed.any?(&:retryable?)
|
|
||||||
= link_to "Retry failed", retry_namespace_project_pipeline_path(ci_commit.project.namespace, ci_commit.project, ci_commit.id), class: 'btn btn-grouped btn-primary', method: :post
|
|
||||||
|
|
||||||
- if ci_commit.builds.running_or_pending.any?
|
|
||||||
= link_to "Cancel running", cancel_namespace_project_pipeline_path(ci_commit.project.namespace, ci_commit.project, ci_commit.id), data: { confirm: 'Are you sure?' }, class: 'btn btn-grouped btn-danger', method: :post
|
|
||||||
|
|
||||||
.oneline.clearfix
|
|
||||||
- if defined?(pipeline_details) && pipeline_details
|
|
||||||
Pipeline
|
|
||||||
= link_to "##{ci_commit.id}", namespace_project_pipeline_path(ci_commit.project.namespace, ci_commit.project, ci_commit.id), class: "monospace"
|
|
||||||
with
|
|
||||||
= pluralize ci_commit.statuses.count(:id), "build"
|
|
||||||
- if ci_commit.ref
|
|
||||||
for
|
|
||||||
= link_to ci_commit.ref, namespace_project_commits_path(ci_commit.project.namespace, ci_commit.project, ci_commit.ref), class: "monospace"
|
|
||||||
- if defined?(link_to_commit) && link_to_commit
|
|
||||||
for commit
|
|
||||||
= link_to ci_commit.short_sha, namespace_project_commit_path(ci_commit.project.namespace, ci_commit.project, ci_commit.sha), class: "monospace"
|
|
||||||
- if ci_commit.duration
|
|
||||||
in
|
|
||||||
= time_interval_in_words ci_commit.duration
|
|
||||||
|
|
||||||
- if ci_commit.yaml_errors.present?
|
|
||||||
.bs-callout.bs-callout-danger
|
|
||||||
%h4 Found errors in your .gitlab-ci.yml:
|
|
||||||
%ul
|
|
||||||
- ci_commit.yaml_errors.split(",").each do |error|
|
|
||||||
%li= error
|
|
||||||
You can also test your .gitlab-ci.yml in the #{link_to "Lint", ci_lint_path}
|
|
||||||
|
|
||||||
- if ci_commit.project.builds_enabled? && !ci_commit.ci_yaml_file
|
|
||||||
.bs-callout.bs-callout-warning
|
|
||||||
\.gitlab-ci.yml not found in this commit
|
|
||||||
|
|
||||||
.table-holder
|
|
||||||
%table.table.builds
|
|
||||||
%thead
|
|
||||||
%tr
|
|
||||||
%th Status
|
|
||||||
%th Build ID
|
|
||||||
%th Name
|
|
||||||
%th Tags
|
|
||||||
%th Duration
|
|
||||||
%th Finished at
|
|
||||||
- if ci_commit.project.build_coverage_enabled?
|
|
||||||
%th Coverage
|
|
||||||
%th
|
|
||||||
- ci_commit.statuses.stages.each do |stage|
|
|
||||||
= render 'projects/commit/ci_stage', stage: stage, statuses: ci_commit.statuses.where(stage: stage)
|
|
52
app/views/projects/commit/_pipeline.html.haml
Normal file
52
app/views/projects/commit/_pipeline.html.haml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
.row-content-block.build-content.middle-block
|
||||||
|
.pull-right
|
||||||
|
- if can?(current_user, :update_pipeline, pipeline.project)
|
||||||
|
- if pipeline.builds.latest.failed.any?(&:retryable?)
|
||||||
|
= link_to "Retry failed", retry_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id), class: 'btn btn-grouped btn-primary', method: :post
|
||||||
|
|
||||||
|
- if pipeline.builds.running_or_pending.any?
|
||||||
|
= link_to "Cancel running", cancel_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id), data: { confirm: 'Are you sure?' }, class: 'btn btn-grouped btn-danger', method: :post
|
||||||
|
|
||||||
|
.oneline.clearfix
|
||||||
|
- if defined?(pipeline_details) && pipeline_details
|
||||||
|
Pipeline
|
||||||
|
= link_to "##{pipeline.id}", namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id), class: "monospace"
|
||||||
|
with
|
||||||
|
= pluralize pipeline.statuses.count(:id), "build"
|
||||||
|
- if pipeline.ref
|
||||||
|
for
|
||||||
|
= link_to pipeline.ref, namespace_project_commits_path(pipeline.project.namespace, pipeline.project, pipeline.ref), class: "monospace"
|
||||||
|
- if defined?(link_to_commit) && link_to_commit
|
||||||
|
for commit
|
||||||
|
= link_to pipeline.short_sha, namespace_project_commit_path(pipeline.project.namespace, pipeline.project, pipeline.sha), class: "monospace"
|
||||||
|
- if pipeline.duration
|
||||||
|
in
|
||||||
|
= time_interval_in_words pipeline.duration
|
||||||
|
|
||||||
|
- if pipeline.yaml_errors.present?
|
||||||
|
.bs-callout.bs-callout-danger
|
||||||
|
%h4 Found errors in your .gitlab-ci.yml:
|
||||||
|
%ul
|
||||||
|
- pipeline.yaml_errors.split(",").each do |error|
|
||||||
|
%li= error
|
||||||
|
You can also test your .gitlab-ci.yml in the #{link_to "Lint", ci_lint_path}
|
||||||
|
|
||||||
|
- if pipeline.project.builds_enabled? && !pipeline.ci_yaml_file
|
||||||
|
.bs-callout.bs-callout-warning
|
||||||
|
\.gitlab-ci.yml not found in this commit
|
||||||
|
|
||||||
|
.table-holder
|
||||||
|
%table.table.builds
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th Status
|
||||||
|
%th Build ID
|
||||||
|
%th Name
|
||||||
|
%th Tags
|
||||||
|
%th Duration
|
||||||
|
%th Finished at
|
||||||
|
- if pipeline.project.build_coverage_enabled?
|
||||||
|
%th Coverage
|
||||||
|
%th
|
||||||
|
- pipeline.statuses.stages.each do |stage|
|
||||||
|
= render 'projects/commit/ci_stage', stage: stage, statuses: pipeline.statuses.where(stage: stage)
|
|
@ -23,7 +23,7 @@
|
||||||
= link_to url_for(params), data: {target: 'div#commits', action: 'commits', toggle: 'tab'} do
|
= link_to url_for(params), data: {target: 'div#commits', action: 'commits', toggle: 'tab'} do
|
||||||
Commits
|
Commits
|
||||||
%span.badge= @commits.size
|
%span.badge= @commits.size
|
||||||
- if @ci_commit
|
- if @pipeline
|
||||||
%li.builds-tab.active
|
%li.builds-tab.active
|
||||||
= link_to url_for(params), data: {target: 'div#builds', action: 'builds', toggle: 'tab'} do
|
= link_to url_for(params), data: {target: 'div#builds', action: 'builds', toggle: 'tab'} do
|
||||||
Builds
|
Builds
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
%p To preserve performance the line changes are not shown.
|
%p To preserve performance the line changes are not shown.
|
||||||
- else
|
- else
|
||||||
= render "projects/diffs/diffs", diffs: @diffs, project: @project, diff_refs: @merge_request.diff_refs, show_whitespace_toggle: false
|
= render "projects/diffs/diffs", diffs: @diffs, project: @project, diff_refs: @merge_request.diff_refs, show_whitespace_toggle: false
|
||||||
- if @ci_commit
|
- if @pipeline
|
||||||
#builds.builds.tab-pane
|
#builds.builds.tab-pane
|
||||||
= render "projects/merge_requests/show/builds"
|
= render "projects/merge_requests/show/builds"
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
= link_to commits_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: {target: 'div#commits', action: 'commits', toggle: 'tab'} do
|
= link_to commits_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: {target: 'div#commits', action: 'commits', toggle: 'tab'} do
|
||||||
Commits
|
Commits
|
||||||
%span.badge= @commits.size
|
%span.badge= @commits.size
|
||||||
- if @ci_commit
|
- if @pipeline
|
||||||
%li.builds-tab
|
%li.builds-tab
|
||||||
= link_to builds_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: {target: '#builds', action: 'builds', toggle: 'tab'} do
|
= link_to builds_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: {target: '#builds', action: 'builds', toggle: 'tab'} do
|
||||||
Builds
|
Builds
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
= render "projects/commit/ci_commit", ci_commit: @ci_commit, link_to_commit: true
|
= render "projects/commit/pipeline", pipeline: @pipeline, link_to_commit: true
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
- if @ci_commit
|
- if @pipeline
|
||||||
.mr-widget-heading
|
.mr-widget-heading
|
||||||
- %w[success skipped canceled failed running pending].each do |status|
|
- %w[success skipped canceled failed running pending].each do |status|
|
||||||
.ci_widget{ class: "ci-#{status}", style: ("display:none" unless @ci_commit.status == status) }
|
.ci_widget{ class: "ci-#{status}", style: ("display:none" unless @pipeline.status == status) }
|
||||||
= ci_icon_for_status(status)
|
= ci_icon_for_status(status)
|
||||||
%span
|
%span
|
||||||
CI build
|
CI build
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
for
|
for
|
||||||
- commit = @merge_request.last_commit
|
- commit = @merge_request.last_commit
|
||||||
= succeed "." do
|
= succeed "." do
|
||||||
= link_to @ci_commit.short_sha, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, @ci_commit.sha), class: "monospace"
|
= link_to @pipeline.short_sha, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, @pipeline.sha), class: "monospace"
|
||||||
%span.ci-coverage
|
%span.ci-coverage
|
||||||
= link_to "View details", builds_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), class: "js-show-tab", data: {action: 'builds'}
|
= link_to "View details", builds_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), class: "js-show-tab", data: {action: 'builds'}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
- status_class = @ci_commit ? " ci-#{@ci_commit.status}" : nil
|
- status_class = @pipeline ? " ci-#{@pipeline.status}" : nil
|
||||||
|
|
||||||
= form_for [:merge, @project.namespace.becomes(Namespace), @project, @merge_request], remote: true, method: :post, html: { class: 'accept-mr-form js-quick-submit js-requires-input' } do |f|
|
= form_for [:merge, @project.namespace.becomes(Namespace), @project, @merge_request], remote: true, method: :post, html: { class: 'accept-mr-form js-quick-submit js-requires-input' } do |f|
|
||||||
= hidden_field_tag :authenticity_token, form_authenticity_token
|
= hidden_field_tag :authenticity_token, form_authenticity_token
|
||||||
|
@ -6,7 +6,7 @@
|
||||||
.accept-merge-holder.clearfix.js-toggle-container
|
.accept-merge-holder.clearfix.js-toggle-container
|
||||||
.clearfix
|
.clearfix
|
||||||
.accept-action
|
.accept-action
|
||||||
- if @ci_commit && @ci_commit.active?
|
- if @pipeline && @pipeline.active?
|
||||||
%span.btn-group
|
%span.btn-group
|
||||||
= button_tag class: "btn btn-create js-merge-button merge_when_build_succeeds" do
|
= button_tag class: "btn btn-create js-merge-button merge_when_build_succeeds" do
|
||||||
Merge When Build Succeeds
|
Merge When Build Succeeds
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
= render "projects/pipelines/info"
|
= render "projects/pipelines/info"
|
||||||
%div.block-connector
|
%div.block-connector
|
||||||
|
|
||||||
= render "projects/commit/ci_commit", ci_commit: @pipeline
|
= render "projects/commit/pipeline", pipeline: @pipeline
|
||||||
|
|
|
@ -22,8 +22,8 @@ module API
|
||||||
|
|
||||||
not_found!('Commit') unless user_project.commit(params[:sha])
|
not_found!('Commit') unless user_project.commit(params[:sha])
|
||||||
|
|
||||||
ci_commits = user_project.pipelines.where(sha: params[:sha])
|
pipelines = user_project.pipelines.where(sha: params[:sha])
|
||||||
statuses = ::CommitStatus.where(pipeline: ci_commits)
|
statuses = ::CommitStatus.where(pipeline: pipelines)
|
||||||
statuses = statuses.latest unless parse_boolean(params[:all])
|
statuses = statuses.latest unless parse_boolean(params[:all])
|
||||||
statuses = statuses.where(ref: params[:ref]) if params[:ref].present?
|
statuses = statuses.where(ref: params[:ref]) if params[:ref].present?
|
||||||
statuses = statuses.where(stage: params[:stage]) if params[:stage].present?
|
statuses = statuses.where(stage: params[:stage]) if params[:stage].present?
|
||||||
|
@ -64,11 +64,11 @@ module API
|
||||||
ref = branches.first
|
ref = branches.first
|
||||||
end
|
end
|
||||||
|
|
||||||
ci_commit = @project.ensure_pipeline(commit.sha, ref)
|
pipeline = @project.ensure_pipeline(commit.sha, ref)
|
||||||
|
|
||||||
name = params[:name] || params[:context]
|
name = params[:name] || params[:context]
|
||||||
status = GenericCommitStatus.running_or_pending.find_by(pipeline: ci_commit, name: name, ref: params[:ref])
|
status = GenericCommitStatus.running_or_pending.find_by(pipeline: pipeline, name: name, ref: params[:ref])
|
||||||
status ||= GenericCommitStatus.new(project: @project, pipeline: ci_commit, user: current_user)
|
status ||= GenericCommitStatus.new(project: @project, pipeline: pipeline, user: current_user)
|
||||||
status.update(attrs)
|
status.update(attrs)
|
||||||
|
|
||||||
case params[:state].to_s
|
case params[:state].to_s
|
||||||
|
|
Loading…
Reference in a new issue