debian-mirror-gitlab/app/views/projects/pipelines/_with_tabs.html.haml

90 lines
5 KiB
Text
Raw Normal View History

2020-10-24 23:57:45 +05:30
- return if pipeline_has_errors
2019-12-26 22:10:19 +05:30
2017-08-17 22:00:37 +05:30
.tabs-holder
2018-11-08 19:23:39 +05:30
%ul.pipelines-tabs.nav-links.no-top.no-bottom.mobile-separator.nav.nav-tabs
2017-08-17 22:00:37 +05:30
%li.js-pipeline-tab-link
2020-04-08 14:13:33 +05:30
= link_to project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-pipeline', action: 'pipelines', toggle: 'tab' }, class: 'pipeline-tab' do
2019-07-07 11:18:12 +05:30
= _('Pipeline')
2021-03-11 19:13:27 +05:30
%li.js-dag-tab-link
= link_to dag_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-dag', action: 'dag', toggle: 'tab' }, class: 'dag-tab' do
= _('Needs')
2020-06-23 00:09:42 +05:30
%li.js-builds-tab-link
= link_to builds_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-builds', action: 'builds', toggle: 'tab' }, class: 'builds-tab' do
= _('Jobs')
2021-06-08 01:23:25 +05:30
%span.badge.badge-pill.gl-badge.badge-muted.sm.js-builds-counter= pipeline.total_size
2018-10-15 14:42:47 +05:30
- if @pipeline.failed_builds.present?
2017-08-17 22:00:37 +05:30
%li.js-failures-tab-link
2018-03-27 19:54:05 +05:30
= link_to failures_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-failures', action: 'failures', toggle: 'tab' }, class: 'failures-tab' do
2019-07-07 11:18:12 +05:30
= _('Failed Jobs')
2021-06-08 01:23:25 +05:30
%span.badge.badge-pill.gl-badge.badge-muted.sm.js-failures-counter= @pipeline.failed_builds.count
2020-10-24 23:57:45 +05:30
%li.js-tests-tab-link
= link_to test_report_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-tests', action: 'test_report', toggle: 'tab' }, class: 'test-tab' do
= s_('TestReports|Tests')
2021-06-08 01:23:25 +05:30
%span.badge.badge-pill.gl-badge.badge-muted.sm.js-test-report-badge-counter= @pipeline.test_report_summary.total[:count]
2018-11-18 11:00:15 +05:30
= render_if_exists "projects/pipelines/tabs_holder", pipeline: @pipeline, project: @project
2017-08-17 22:00:37 +05:30
.tab-content
2021-02-22 17:27:13 +05:30
#js-tab-pipeline.tab-pane.gl-w-full
2017-09-10 17:25:29 +05:30
#js-pipeline-graph-vue
2017-08-17 22:00:37 +05:30
#js-tab-builds.tab-pane
2021-04-29 21:17:54 +05:30
- if stages.present?
2018-12-13 13:39:08 +05:30
.table-holder.pipeline-holder
%table.table.ci-table.pipeline
%thead
%tr
2019-07-07 11:18:12 +05:30
%th= _('Status')
%th= _('Job ID')
%th= _('Name')
2018-12-13 13:39:08 +05:30
%th
2019-07-07 11:18:12 +05:30
%th= _('Coverage')
2018-12-13 13:39:08 +05:30
%th
2021-04-29 21:17:54 +05:30
= render partial: "projects/stage/stage", collection: stages, as: :stage
2017-08-17 22:00:37 +05:30
2018-10-15 14:42:47 +05:30
- if @pipeline.failed_builds.present?
2018-11-08 19:23:39 +05:30
#js-tab-failures.build-failures.tab-pane.build-page
%table.table.responsive-table.ci-table.responsive-table-sm-rounded
%thead
%th.table-th-transparent
2019-07-07 11:18:12 +05:30
%th.table-th-transparent= _('Name')
%th.table-th-transparent= _('Stage')
%th.table-th-transparent= _('Failure')
2018-11-08 19:23:39 +05:30
%tbody
- @pipeline.failed_builds.each_with_index do |build, index|
- job = build.present(current_user: current_user)
%tr.build-state.responsive-table-border-start
2019-07-07 11:18:12 +05:30
%td.responsive-table-cell.ci-status-icon-failed{ data: { column: _('Status')} }
2018-11-08 19:23:39 +05:30
.d-none.d-md-block.build-icon
2021-04-17 20:07:23 +05:30
= sprite_icon("status_#{build.status}")
2018-11-08 19:23:39 +05:30
.d-md-none.build-badge
= render "ci/status/badge", link: false, status: job.detailed_status(current_user)
2019-07-07 11:18:12 +05:30
%td.responsive-table-cell.build-name{ data: { column: _('Name')} }
2018-11-08 19:23:39 +05:30
= link_to build.name, pipeline_job_url(pipeline, build)
2019-07-07 11:18:12 +05:30
%td.responsive-table-cell.build-stage{ data: { column: _('Stage')} }
2018-11-08 19:23:39 +05:30
= build.stage.titleize
2019-07-07 11:18:12 +05:30
%td.responsive-table-cell.build-failure{ data: { column: _('Failure')} }
2018-11-08 19:23:39 +05:30
= build.present.callout_failure_message
%td.responsive-table-cell.build-actions
2021-01-03 14:25:43 +05:30
- if can?(current_user, :update_build, job) && job.retryable?
2021-03-11 19:13:27 +05:30
= link_to retry_project_job_path(build.project, build, return_to: request.original_url), method: :post, title: _('Retry'), class: 'gl-button btn btn-default btn-icon' do
2020-10-24 23:57:45 +05:30
= sprite_icon('repeat', css_class: 'gl-icon')
2018-12-13 13:39:08 +05:30
- if can?(current_user, :read_build, job)
%tr.build-trace-row.responsive-table-border-end
%td
%td.responsive-table-cell.build-trace-container{ colspan: 4 }
%pre.build-trace.build-trace-rounded
%code.bash.js-build-output
= build_summary(build)
2019-12-26 22:10:19 +05:30
2021-03-11 19:13:27 +05:30
#js-tab-dag.tab-pane
2021-09-30 23:02:18 +05:30
#js-pipeline-dag-vue{ data: { pipeline_project_path: @project.full_path, pipeline_iid: @pipeline.iid, empty_svg_path: image_path('illustrations/empty-state/empty-dag-md.svg'), about_dag_doc_path: help_page_path('ci/directed_acyclic_graph/index.md'), dag_doc_path: help_page_path('ci/yaml/index.md', anchor: 'needs')} }
2020-05-24 23:13:21 +05:30
2019-12-26 22:10:19 +05:30
#js-tab-tests.tab-pane
2020-10-24 23:57:45 +05:30
#js-pipeline-tests-detail{ data: { summary_endpoint: summary_project_pipeline_tests_path(@project, @pipeline, format: :json),
2021-03-11 19:13:27 +05:30
suite_endpoint: project_pipeline_test_path(@project, @pipeline, suite_name: 'suite', format: :json),
2021-06-08 01:23:25 +05:30
blob_path: project_blob_path(@project, @pipeline.sha),
has_test_report: @pipeline.has_reports?(Ci::JobArtifact.test_reports).to_s,
empty_state_image_path: image_path('illustrations/empty-state/empty-test-cases-lg.svg') } }
2018-11-18 11:00:15 +05:30
= render_if_exists "projects/pipelines/tabs_content", pipeline: @pipeline, project: @project