summaryrefslogtreecommitdiff
path: root/app/views/projects/pipelines/_info.html.haml
blob: 0bfdee088b40372f9cbaff8fe86bc1c7558017d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.commit-box
  %h3.commit-title
    = markdown(commit.title, pipeline: :single_line)
  - if commit.description.present?
    %pre.commit-description<
      = preserve(markdown(commit.description, pipeline: :single_line))

.info-well
  .well-segment.pipeline-info
    .icon-container.gl-vertical-align-text-bottom
      = sprite_icon('clock')
    = pluralize @pipeline.total_size, "job"
    = @pipeline.ref_text
    - if @pipeline.duration
      in
      = time_interval_in_words(@pipeline.duration)
    - if @pipeline.queued_duration
      = "(queued for #{time_interval_in_words(@pipeline.queued_duration)})"

  - if has_pipeline_badges?(@pipeline)
    .well-segment.qa-pipeline-badges
      .icon-container
        = sprite_icon('flag')
      - if @pipeline.child?
        %span.js-pipeline-child.badge.badge-pill.gl-badge.sm.badge-primary.has-tooltip{ title: s_("Pipelines|This is a child pipeline within the parent pipeline") }
          = s_('Pipelines|Child pipeline')
          = surround '(', ')' do
            = link_to s_('Pipelines|parent'), pipeline_path(@pipeline.triggered_by_pipeline), class: 'text-white text-underline'
      - if @pipeline.latest?
        %span.js-pipeline-url-latest.badge.badge-pill.gl-badge.sm.badge-success.has-tooltip{ title: _("Latest pipeline for the most recent commit on this branch") }
          latest
      - if @pipeline.merge_train_pipeline?
        %span.js-pipeline-url-train.badge.badge-pill.gl-badge.sm.badge-info.has-tooltip{ title: _("This is a merge train pipeline") }
          train
      - if @pipeline.has_yaml_errors?
        %span.js-pipeline-url-yaml.badge.badge-pill.gl-badge.sm.badge-danger.has-tooltip{ title: @pipeline.yaml_errors }
          yaml invalid
      - if @pipeline.failure_reason?
        %span.js-pipeline-url-failure.badge.badge-pill.gl-badge.sm.badge-danger.has-tooltip{ title: @pipeline.failure_reason }
          error
      - if @pipeline.auto_devops_source?
        - popover_title_text = html_escape(_('This pipeline makes use of a predefined CI/CD configuration enabled by %{b_open}Auto DevOps.%{b_close}')) % { b_open: '<b>'.html_safe, b_close: '</b>'.html_safe }
        - popover_content_url = help_page_path('topics/autodevops/index.md')
        - popover_content_text = _('Learn more about Auto DevOps')
        %a.js-pipeline-url-autodevops.badge.badge-pill.gl-badge.sm.badge-info.autodevops-badge{ href: "#", tabindex: "0", role: "button", data: { container: "body",
          toggle: "popover",
          placement: "top",
          html: "true",
          triggers: "focus",
          title: "<div class='gl-font-weight-normal gl-line-height-normal'>#{popover_title_text}</div>",
          content: "<a href='#{popover_content_url}' target='_blank' rel='noopener noreferrer nofollow'>#{popover_content_text}</a>",
        } }
          Auto DevOps
      - if @pipeline.detached_merge_request_pipeline?
        %span.js-pipeline-url-mergerequest.badge.badge-pill.gl-badge.sm.badge-info.has-tooltip{ title: _('Pipelines for merge requests are configured. A detached pipeline runs in the context of the merge request, and not against the merged result. Learn more in the documentation for Pipelines for Merged Results.') }
          detached
      - if @pipeline.stuck?
        %span.js-pipeline-url-stuck.badge.badge-pill.gl-badge.sm.badge-warning
          stuck

  .well-segment.branch-info
    .icon-container.commit-icon
      = custom_icon("icon_commit")
    = link_to commit.short_id, project_commit_path(@project, @pipeline.sha), class: "commit-sha"
    = clipboard_button(text: @pipeline.sha, title: _("Copy commit SHA"))

  .well-segment.related-merge-request-info
    .icon-container
      = sprite_icon("git-merge")
    %span.related-merge-requests
      %span.js-truncated-mr-list
        = @pipeline.all_related_merge_request_text(limit: 1)
      - if @pipeline.has_many_merge_requests?
        = link_to("#", class: "js-toggle-mr-list") do
          %span.text-expander
            = sprite_icon('ellipsis_h', size: 12)
        %span.js-full-mr-list.hide
          = @pipeline.all_related_merge_request_text