From f5dd0957bee6f8881f2c53bf2cd5db4c9a109326 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Mon, 24 Oct 2016 15:20:27 -0500 Subject: add link to build's pipeline within build page header --- app/helpers/gitlab_routing_helper.rb | 4 ++++ app/views/projects/builds/_header.html.haml | 3 +++ 2 files changed, 7 insertions(+) diff --git a/app/helpers/gitlab_routing_helper.rb b/app/helpers/gitlab_routing_helper.rb index bccf64d1aac..af9087d8326 100644 --- a/app/helpers/gitlab_routing_helper.rb +++ b/app/helpers/gitlab_routing_helper.rb @@ -82,6 +82,10 @@ module GitlabRoutingHelper namespace_project_merge_request_path(entity.project.namespace, entity.project, entity, *args) end + def pipeline_path(pipeline, *args) + namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id, *args) + end + def milestone_path(entity, *args) namespace_project_milestone_path(entity.project.namespace, entity.project, entity, *args) end diff --git a/app/views/projects/builds/_header.html.haml b/app/views/projects/builds/_header.html.haml index 3f2ce7377fd..9f69bd64f71 100644 --- a/app/views/projects/builds/_header.html.haml +++ b/app/views/projects/builds/_header.html.haml @@ -3,6 +3,9 @@ = ci_status_with_icon(@build.status) Build %strong ##{@build.id} + in pipeline + = link_to pipeline_path(@build.pipeline) do + %strong ##{@build.pipeline.id} for commit = link_to ci_status_path(@build.pipeline) do %strong= @build.pipeline.short_sha -- cgit v1.2.1 From 0ae3b75bb3380492f9826d8386fa9e12aa218794 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Mon, 24 Oct 2016 15:47:02 -0500 Subject: add pipeline column within builds index --- app/views/projects/builds/_table.html.haml | 1 + app/views/projects/ci/builds/_build.html.haml | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/app/views/projects/builds/_table.html.haml b/app/views/projects/builds/_table.html.haml index 36294c89fa8..c42efc321b1 100644 --- a/app/views/projects/builds/_table.html.haml +++ b/app/views/projects/builds/_table.html.haml @@ -10,6 +10,7 @@ %tr %th Status %th Build + %th Pipeline - if admin %th Project %th Runner diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml index 94632056b15..4f4612f6b80 100644 --- a/app/views/projects/ci/builds/_build.html.haml +++ b/app/views/projects/ci/builds/_build.html.haml @@ -51,6 +51,15 @@ - if build.manual? %span.label.label-info manual + %td + = link_to pipeline_path(build.pipeline) do + %span.pipeline-id ##{build.pipeline.id} + %span by + - if build.pipeline.user + = user_avatar(user: build.pipeline.user, size: 20) + - else + %span.api.monospace API + - if admin %td - if build.project -- cgit v1.2.1 From e4e1819980d73ed067581c4499618e33bae1f822 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Mon, 24 Oct 2016 15:56:29 -0500 Subject: add CHANGELOG entry for !7082 --- changelogs/unreleased/22307-pipeline-link-in-builds-view.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changelogs/unreleased/22307-pipeline-link-in-builds-view.yml diff --git a/changelogs/unreleased/22307-pipeline-link-in-builds-view.yml b/changelogs/unreleased/22307-pipeline-link-in-builds-view.yml new file mode 100644 index 00000000000..3af746cd92a --- /dev/null +++ b/changelogs/unreleased/22307-pipeline-link-in-builds-view.yml @@ -0,0 +1,4 @@ +--- +title: Add link to build pipeline within individual build pages +merge_request: 7082 +author: -- cgit v1.2.1 From 0e46ba516bf059df11b10611f414b5d6eb71a0c6 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Tue, 1 Nov 2016 14:45:02 -0500 Subject: remove red color on API pipeline trigger designation --- app/assets/stylesheets/pages/pipelines.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/assets/stylesheets/pages/pipelines.scss b/app/assets/stylesheets/pages/pipelines.scss index bf3cb6e7ad9..881621a2655 100644 --- a/app/assets/stylesheets/pages/pipelines.scss +++ b/app/assets/stylesheets/pages/pipelines.scss @@ -109,10 +109,6 @@ float: none; } - .api { - color: $code-color; - } - .branch-commit { .branch-name { -- cgit v1.2.1 From 0afbe8fc52d39cab3dd55b7936f072872f1a0326 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Tue, 1 Nov 2016 15:22:24 -0500 Subject: add missing column header for pipeline builds view --- app/views/projects/commit/_ci_stage.html.haml | 6 +++--- app/views/projects/commit/_pipeline.html.haml | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/projects/commit/_ci_stage.html.haml b/app/views/projects/commit/_ci_stage.html.haml index 6bb900e3fc1..65f4c0b7c7d 100644 --- a/app/views/projects/commit/_ci_stage.html.haml +++ b/app/views/projects/commit/_ci_stage.html.haml @@ -10,6 +10,6 @@ = stage.titleize = render statuses.latest_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, allow_retry: true = render statuses.retried_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, retried: true - %tr - %td{colspan: 10} -   +%tr + %td{colspan: 10} +   diff --git a/app/views/projects/commit/_pipeline.html.haml b/app/views/projects/commit/_pipeline.html.haml index 062a8905a19..95177856031 100644 --- a/app/views/projects/commit/_pipeline.html.haml +++ b/app/views/projects/commit/_pipeline.html.haml @@ -61,6 +61,7 @@ %tr %th Status %th Build ID + %th Pipeline %th Name %th - if pipeline.project.build_coverage_enabled? -- cgit v1.2.1 From 942de35014e6b3b6d92a903e6fdc091e55e4008c Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Wed, 9 Nov 2016 12:20:32 -0600 Subject: update generic commit status to correspond with build status template --- app/assets/stylesheets/pages/commits.scss | 4 ++-- .../generic_commit_statuses/_generic_commit_status.html.haml | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/pages/commits.scss b/app/assets/stylesheets/pages/commits.scss index 61fbd7425b7..83ffa0e1d39 100644 --- a/app/assets/stylesheets/pages/commits.scss +++ b/app/assets/stylesheets/pages/commits.scss @@ -84,7 +84,8 @@ font-weight: 600; } -.commit { +.commit, +.generic_commit_status { padding: 10px 0; position: relative; @@ -102,7 +103,6 @@ vertical-align: baseline; } - .avatar { margin-left: -46px; } diff --git a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml index 80fe6be49b0..688cda384fb 100644 --- a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml +++ b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml @@ -15,6 +15,15 @@ - if defined?(retried) && retried = icon('warning', class: 'text-warning has-tooltip', title: 'Status was retried.') + %td + = link_to pipeline_path(generic_commit_status.pipeline) do + %span.pipeline-id ##{generic_commit_status.pipeline.id} + %span by + - if generic_commit_status.pipeline.user + = user_avatar(user: generic_commit_status.pipeline.user, size: 20) + - else + %span.api.monospace API + - if defined?(commit_sha) && commit_sha %td = link_to generic_commit_status.short_sha, namespace_project_commit_path(generic_commit_status.project.namespace, generic_commit_status.project, generic_commit_status.sha), class: "monospace" -- cgit v1.2.1 From f47de1da6204f9ef727afaef8f12f2809608d52f Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 10 Nov 2016 09:00:00 -0600 Subject: only display link to pipeline in generic build index, not on pipeline show --- app/views/projects/builds/_table.html.haml | 2 +- app/views/projects/ci/builds/_build.html.haml | 18 ++++++++++-------- app/views/projects/commit/_ci_stage.html.haml | 4 ++-- app/views/projects/commit/_pipeline.html.haml | 1 - .../_generic_commit_status.html.haml | 17 +++++++++-------- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/app/views/projects/builds/_table.html.haml b/app/views/projects/builds/_table.html.haml index c42efc321b1..028664f5bba 100644 --- a/app/views/projects/builds/_table.html.haml +++ b/app/views/projects/builds/_table.html.haml @@ -20,6 +20,6 @@ %th Coverage %th - = render partial: "projects/ci/builds/build", collection: builds, as: :build, locals: { commit_sha: true, ref: true, stage: true, allow_retry: true, coverage: admin || project.build_coverage_enabled?, admin: admin } + = render partial: "projects/ci/builds/build", collection: builds, as: :build, locals: { commit_sha: true, ref: true, pipeline_link: true, stage: true, allow_retry: true, coverage: admin || project.build_coverage_enabled?, admin: admin } = paginate builds, theme: 'gitlab' diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml index 4f4612f6b80..28a040b4ac1 100644 --- a/app/views/projects/ci/builds/_build.html.haml +++ b/app/views/projects/ci/builds/_build.html.haml @@ -2,6 +2,7 @@ - ref = local_assigns.fetch(:ref, nil) - commit_sha = local_assigns.fetch(:commit_sha, nil) - retried = local_assigns.fetch(:retried, false) +- pipeline_link = local_assigns.fetch(:pipeline_link, false) - stage = local_assigns.fetch(:stage, false) - coverage = local_assigns.fetch(:coverage, false) - allow_retry = local_assigns.fetch(:allow_retry, false) @@ -51,14 +52,15 @@ - if build.manual? %span.label.label-info manual - %td - = link_to pipeline_path(build.pipeline) do - %span.pipeline-id ##{build.pipeline.id} - %span by - - if build.pipeline.user - = user_avatar(user: build.pipeline.user, size: 20) - - else - %span.api.monospace API + - if pipeline_link + %td + = link_to pipeline_path(build.pipeline) do + %span.pipeline-id ##{build.pipeline.id} + %span by + - if build.pipeline.user + = user_avatar(user: build.pipeline.user, size: 20) + - else + %span.api.monospace API - if admin %td diff --git a/app/views/projects/commit/_ci_stage.html.haml b/app/views/projects/commit/_ci_stage.html.haml index 65f4c0b7c7d..3a3d750439f 100644 --- a/app/views/projects/commit/_ci_stage.html.haml +++ b/app/views/projects/commit/_ci_stage.html.haml @@ -8,8 +8,8 @@ - if stage   = stage.titleize - = render statuses.latest_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, allow_retry: true - = render statuses.retried_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, retried: true + = render statuses.latest_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, pipeline_link: false, allow_retry: true + = render statuses.retried_ci_stages, coverage: @project.build_coverage_enabled?, stage: false, ref: false, pipeline_link: false, retried: true %tr %td{colspan: 10}   diff --git a/app/views/projects/commit/_pipeline.html.haml b/app/views/projects/commit/_pipeline.html.haml index 95177856031..062a8905a19 100644 --- a/app/views/projects/commit/_pipeline.html.haml +++ b/app/views/projects/commit/_pipeline.html.haml @@ -61,7 +61,6 @@ %tr %th Status %th Build ID - %th Pipeline %th Name %th - if pipeline.project.build_coverage_enabled? diff --git a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml index 688cda384fb..c8ee96084fc 100644 --- a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml +++ b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml @@ -15,14 +15,15 @@ - if defined?(retried) && retried = icon('warning', class: 'text-warning has-tooltip', title: 'Status was retried.') - %td - = link_to pipeline_path(generic_commit_status.pipeline) do - %span.pipeline-id ##{generic_commit_status.pipeline.id} - %span by - - if generic_commit_status.pipeline.user - = user_avatar(user: generic_commit_status.pipeline.user, size: 20) - - else - %span.api.monospace API + - if defined?(pipeline_link) && pipeline_link + %td + = link_to pipeline_path(generic_commit_status.pipeline) do + %span.pipeline-id ##{generic_commit_status.pipeline.id} + %span by + - if generic_commit_status.pipeline.user + = user_avatar(user: generic_commit_status.pipeline.user, size: 20) + - else + %span.api.monospace API - if defined?(commit_sha) && commit_sha %td -- cgit v1.2.1 From d55fb906e43430ec265f48928f609892681cccd9 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 10 Nov 2016 09:00:23 -0600 Subject: add tests for build row templates --- .../views/projects/builds/_build.html.haml_spec.rb | 28 ++++++++++++++++++++++ .../_generic_commit_status.html.haml_spec.rb | 28 ++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 spec/views/projects/builds/_build.html.haml_spec.rb create mode 100644 spec/views/projects/builds/_generic_commit_status.html.haml_spec.rb diff --git a/spec/views/projects/builds/_build.html.haml_spec.rb b/spec/views/projects/builds/_build.html.haml_spec.rb new file mode 100644 index 00000000000..e141a117731 --- /dev/null +++ b/spec/views/projects/builds/_build.html.haml_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +describe 'projects/ci/builds/_build' do + include Devise::Test::ControllerHelpers + + let(:project) { create(:project) } + let(:pipeline) { create(:ci_empty_pipeline, id: 1337, project: project, sha: project.commit.id) } + let(:build) { create(:ci_build, pipeline: pipeline, stage: 'test', stage_idx: 1, name: 'rspec 0:2', status: :pending) } + + before do + controller.prepend_view_path('app/views/projects') + allow(view).to receive(:can?).and_return(true) + end + + it 'won\'t include a column with a link to its pipeline by default' do + render partial: 'projects/ci/builds/build', locals: { build: build } + + expect(rendered).not_to have_link('#1337') + expect(rendered).not_to have_text('#1337 by API') + end + + it 'can include a column with a link to its pipeline' do + render partial: 'projects/ci/builds/build', locals: { build: build, pipeline_link: true } + + expect(rendered).to have_link('#1337') + expect(rendered).to have_text('#1337 by API') + end +end diff --git a/spec/views/projects/builds/_generic_commit_status.html.haml_spec.rb b/spec/views/projects/builds/_generic_commit_status.html.haml_spec.rb new file mode 100644 index 00000000000..49b20e5b36b --- /dev/null +++ b/spec/views/projects/builds/_generic_commit_status.html.haml_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +describe 'projects/generic_commit_statuses/_generic_commit_status.html.haml' do + include Devise::Test::ControllerHelpers + + let(:project) { create(:project) } + let(:pipeline) { create(:ci_empty_pipeline, id: 1337, project: project, sha: project.commit.id) } + let(:generic_commit_status) { create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3) } + + before do + controller.prepend_view_path('app/views/projects') + allow(view).to receive(:can?).and_return(true) + end + + it 'won\'t include a column with a link to its pipeline by default' do + render partial: 'projects/generic_commit_statuses/generic_commit_status', locals: { generic_commit_status: generic_commit_status } + + expect(rendered).not_to have_link('#1337') + expect(rendered).not_to have_text('#1337 by API') + end + + it 'can include a column with a link to its pipeline' do + render partial: 'projects/generic_commit_statuses/generic_commit_status', locals: { generic_commit_status: generic_commit_status, pipeline_link: true } + + expect(rendered).to have_link('#1337') + expect(rendered).to have_text('#1337 by API') + end +end -- cgit v1.2.1 From d949db0519f38015b821c5af9821442ba6e17529 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 10 Nov 2016 16:48:47 -0600 Subject: remove unused class name --- app/views/projects/ci/builds/_build.html.haml | 2 +- .../projects/generic_commit_statuses/_generic_commit_status.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml index 28a040b4ac1..8d9c15d0dc6 100644 --- a/app/views/projects/ci/builds/_build.html.haml +++ b/app/views/projects/ci/builds/_build.html.haml @@ -60,7 +60,7 @@ - if build.pipeline.user = user_avatar(user: build.pipeline.user, size: 20) - else - %span.api.monospace API + %span.monospace API - if admin %td diff --git a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml index c8ee96084fc..0b99e9f8756 100644 --- a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml +++ b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml @@ -23,7 +23,7 @@ - if generic_commit_status.pipeline.user = user_avatar(user: generic_commit_status.pipeline.user, size: 20) - else - %span.api.monospace API + %span.monospace API - if defined?(commit_sha) && commit_sha %td -- cgit v1.2.1