Commit 34eea295 authored by Lin Jen-Shin's avatar Lin Jen-Shin

Fix test and only show job status title if it's

cancelled and the pipeline is auto-cancelled.
parent 2d4fd769
...@@ -11,5 +11,11 @@ module Ci ...@@ -11,5 +11,11 @@ module Ci
def erased_by_name def erased_by_name
erased_by.name if erased_by_user? erased_by.name if erased_by_user?
end end
def status_title
if canceled? && pipeline.auto_canceled?
"Job is redundant and is auto-canceled by Pipeline ##{pipeline.auto_canceled_by_id}"
end
end
end end
end end
- pipeline = @build.pipeline.present(current_user: current_user) - pipeline = @build.pipeline
.content-block.build-header.top-area .content-block.build-header.top-area
.header-content .header-content
= render 'ci/status/badge', status: @build.detailed_status(current_user), link: false, title: pipeline.status_title = render 'ci/status/badge', status: @build.detailed_status(current_user), link: false, title: @build.status_title
Job Job
%strong.js-build-id ##{@build.id} %strong.js-build-id ##{@build.id}
in pipeline in pipeline
......
- job = build.present(current_user: current_user)
- pipeline = job.pipeline
- admin = local_assigns.fetch(:admin, false) - admin = local_assigns.fetch(:admin, false)
- ref = local_assigns.fetch(:ref, nil) - ref = local_assigns.fetch(:ref, nil)
- commit_sha = local_assigns.fetch(:commit_sha, nil) - commit_sha = local_assigns.fetch(:commit_sha, nil)
...@@ -6,48 +8,47 @@ ...@@ -6,48 +8,47 @@
- stage = local_assigns.fetch(:stage, false) - stage = local_assigns.fetch(:stage, false)
- coverage = local_assigns.fetch(:coverage, false) - coverage = local_assigns.fetch(:coverage, false)
- allow_retry = local_assigns.fetch(:allow_retry, false) - allow_retry = local_assigns.fetch(:allow_retry, false)
- pipeline = build.pipeline.present(current_user: current_user)
%tr.build.commit{ class: ('retried' if retried) } %tr.build.commit{ class: ('retried' if retried) }
%td.status %td.status
= render "ci/status/badge", status: build.detailed_status(current_user), title: pipeline.status_title = render "ci/status/badge", status: job.detailed_status(current_user), title: job.status_title
%td.branch-commit %td.branch-commit
- if can?(current_user, :read_build, build) - if can?(current_user, :read_build, job)
= link_to namespace_project_build_url(build.project.namespace, build.project, build) do = link_to namespace_project_build_url(job.project.namespace, job.project, job) do
%span.build-link ##{build.id} %span.build-link ##{job.id}
- else - else
%span.build-link ##{build.id} %span.build-link ##{job.id}
- if ref - if ref
- if build.ref - if job.ref
.icon-container .icon-container
= build.tag? ? icon('tag') : icon('code-fork') = job.tag? ? icon('tag') : icon('code-fork')
= link_to build.ref, namespace_project_commits_path(build.project.namespace, build.project, build.ref), class: "monospace branch-name" = link_to job.ref, namespace_project_commits_path(job.project.namespace, job.project, job.ref), class: "monospace branch-name"
- else - else
.light none .light none
.icon-container.commit-icon .icon-container.commit-icon
= custom_icon("icon_commit") = custom_icon("icon_commit")
- if commit_sha - if commit_sha
= link_to build.short_sha, namespace_project_commit_path(build.project.namespace, build.project, build.sha), class: "commit-id monospace" = link_to job.short_sha, namespace_project_commit_path(job.project.namespace, job.project, job.sha), class: "commit-id monospace"
- if build.stuck? - if job.stuck?
= icon('warning', class: 'text-warning has-tooltip', title: 'Job is stuck. Check runners.') = icon('warning', class: 'text-warning has-tooltip', title: 'Job is stuck. Check runners.')
- if retried - if retried
= icon('refresh', class: 'text-warning has-tooltip', title: 'Job was retried') = icon('refresh', class: 'text-warning has-tooltip', title: 'Job was retried')
.label-container .label-container
- if build.tags.any? - if job.tags.any?
- build.tags.each do |tag| - job.tags.each do |tag|
%span.label.label-primary %span.label.label-primary
= tag = tag
- if build.try(:trigger_request) - if job.try(:trigger_request)
%span.label.label-info triggered %span.label.label-info triggered
- if build.try(:allow_failure) - if job.try(:allow_failure)
%span.label.label-danger allowed to fail %span.label.label-danger allowed to fail
- if build.action? - if job.action?
%span.label.label-info manual %span.label.label-info manual
- if pipeline_link - if pipeline_link
...@@ -62,49 +63,49 @@ ...@@ -62,49 +63,49 @@
- if admin - if admin
%td %td
- if build.project - if job.project
= link_to build.project.name_with_namespace, admin_namespace_project_path(build.project.namespace, build.project) = link_to job.project.name_with_namespace, admin_namespace_project_path(job.project.namespace, job.project)
%td %td
- if build.try(:runner) - if job.try(:runner)
= runner_link(build.runner) = runner_link(job.runner)
- else - else
.light none .light none
- if stage - if stage
%td %td
= build.stage = job.stage
%td %td
= build.name = job.name
%td %td
- if build.duration - if job.duration
%p.duration %p.duration
= custom_icon("icon_timer") = custom_icon("icon_timer")
= duration_in_numbers(build.duration) = duration_in_numbers(job.duration)
- if build.finished_at - if job.finished_at
%p.finished-at %p.finished-at
= icon("calendar") = icon("calendar")
%span= time_ago_with_tooltip(build.finished_at) %span= time_ago_with_tooltip(job.finished_at)
%td.coverage %td.coverage
- if coverage && build.try(:coverage) - if coverage && job.try(:coverage)
#{build.coverage}% #{job.coverage}%
%td %td
.pull-right .pull-right
- if can?(current_user, :read_build, build) && build.artifacts? - if can?(current_user, :read_build, job) && job.artifacts?
= link_to download_namespace_project_build_artifacts_path(build.project.namespace, build.project, build), rel: 'nofollow', download: '', title: 'Download artifacts', class: 'btn btn-build' do = link_to download_namespace_project_build_artifacts_path(job.project.namespace, job.project, job), rel: 'nofollow', download: '', title: 'Download artifacts', class: 'btn btn-build' do
= icon('download') = icon('download')
- if can?(current_user, :update_build, build) - if can?(current_user, :update_build, job)
- if build.active? - if job.active?
= link_to cancel_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Cancel', class: 'btn btn-build' do = link_to cancel_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Cancel', class: 'btn btn-build' do
= icon('remove', class: 'cred') = icon('remove', class: 'cred')
- elsif allow_retry - elsif allow_retry
- if build.playable? && !admin - if job.playable? && !admin
= link_to play_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Play', class: 'btn btn-build' do = link_to play_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Play', class: 'btn btn-build' do
= custom_icon('icon_play') = custom_icon('icon_play')
- elsif build.retryable? - elsif job.retryable?
= link_to retry_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Retry', class: 'btn btn-build' do = link_to retry_namespace_project_build_path(job.project.namespace, job.project, job, return_to: request.original_url), method: :post, title: 'Retry', class: 'btn btn-build' do
= icon('repeat') = icon('repeat')
...@@ -5,7 +5,13 @@ describe 'projects/pipelines/show' do ...@@ -5,7 +5,13 @@ describe 'projects/pipelines/show' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:project) { create(:project, :repository) } let(:project) { create(:project, :repository) }
let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.id, user: user) }
let(:pipeline) do
create(:ci_empty_pipeline,
project: project,
sha: project.commit.id,
user: user)
end
before do before do
controller.prepend_view_path('app/views/projects') controller.prepend_view_path('app/views/projects')
...@@ -21,7 +27,7 @@ describe 'projects/pipelines/show' do ...@@ -21,7 +27,7 @@ describe 'projects/pipelines/show' do
create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3) create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3)
assign(:project, project) assign(:project, project)
assign(:pipeline, pipeline) assign(:pipeline, pipeline.present(current_user: user))
assign(:commit, project.commit) assign(:commit, project.commit)
allow(view).to receive(:can?).and_return(true) allow(view).to receive(:can?).and_return(true)
......
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