summaryrefslogtreecommitdiff
path: root/app/views/projects/merge_requests/widget/_heading.html.haml
blob: 1298376ac2502bbce8d6cc3ff092373842375664 (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
- if @pipeline
  .mr-widget-heading
    - %w[success success_with_warnings skipped manual canceled failed running pending].each do |status|
      .ci_widget{ class: "ci-#{status}", style: ("display:none" unless @pipeline.status == status) }
        %div{ class: "ci-status-icon ci-status-icon-#{status}" }
          = link_to namespace_project_pipeline_path(@pipeline.project.namespace, @pipeline.project, @pipeline.id), class: 'icon-link' do
            = ci_icon_for_status(status)
        %span
          Pipeline
          = link_to "##{@pipeline.id}", namespace_project_pipeline_path(@pipeline.project.namespace, @pipeline.project, @pipeline.id), class: 'pipeline'
          = ci_label_for_status(status)
        - if @pipeline.stages.any?
          .mr-widget-pipeline-graph
            = render 'shared/mini_pipeline_graph', pipeline: @pipeline, klass: 'js-pipeline-inline-mr-widget-graph'
        %span
          for
          = succeed "." do
            = link_to @pipeline.short_sha, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, @pipeline.sha), class: "monospace js-commit-link"
        %span.ci-coverage

- elsif @merge_request.has_ci?
  -# Compatibility with old CI integrations (ex jenkins) when you request status from CI server via AJAX
  -# TODO, remove in later versions when services like Jenkins will set CI status via Commit status API
  .mr-widget-heading
    - %w[success skipped canceled failed running pending].each do |status|
      .ci_widget{ class: "ci-#{status} ci-status-icon-#{status}", style: "display:none" }
        = ci_icon_for_status(status)
        %span
          CI job
          = ci_label_for_status(status)
          for
        - commit = @merge_request.diff_head_commit
        = succeed "." do
          = link_to commit.short_id, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, commit), class: "monospace"
        %span.ci-coverage

    .ci_widget
      = icon("spinner spin")
      Checking CI status for #{@merge_request.diff_head_commit.short_id}…

    .ci_widget.ci-not_found{ style: "display:none" }
      = icon("times-circle")
      Could not find CI status for #{@merge_request.diff_head_commit.short_id}.

    .ci_widget.ci-error{ style: "display:none" }
      = icon("times-circle")
      Could not connect to the CI server. Please check your settings and try again.

.js-success-icon.hidden
  = ci_icon_for_status('success')