_pipeline.html.haml 3.13 KB
Newer Older
1
- status = pipeline.status
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
2 3
%tr.commit
  %td.commit-link
4
    = link_to namespace_project_pipeline_path(@project.namespace, @project, pipeline.id), class: "ci-status ci-#{status}" do
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
5
      = ci_icon_for_status(status)
6
      %strong ##{pipeline.id}
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
7 8

  %td
Kamil Trzcinski's avatar
Kamil Trzcinski committed
9
    %div.branch-commit
10 11
      - if pipeline.ref
        = link_to pipeline.ref, namespace_project_commits_path(@project.namespace, @project, pipeline.ref), class: "monospace"
Kamil Trzcinski's avatar
Kamil Trzcinski committed
12
        ·
13
      = link_to pipeline.short_sha, namespace_project_commit_path(@project.namespace, @project, pipeline.sha), class: "commit-id monospace"
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
14
       
15
      - if pipeline.tag?
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
16
        %span.label.label-primary tag
17
      - elsif pipeline.latest?
18
        %span.label.label-success.has-tooltip{ title: 'Latest build for this branch' } latest
19
      - if pipeline.triggered?
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
20
        %span.label.label-primary triggered
21 22 23
      - if pipeline.yaml_errors.present?
        %span.label.label-danger.has-tooltip{ title: "#{pipeline.yaml_errors}" } yaml invalid
      - if pipeline.builds.any?(&:stuck?)
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
24 25
        %span.label.label-warning stuck

26
      %p.commit-title
27
        - if commit_data = pipeline.commit_data
28 29 30
          = link_to_gfm truncate(commit_data.title, length: 60), namespace_project_commit_path(@project.namespace, @project, commit_data.id), class: "commit-row-message"
        - else
          Cant find HEAD commit for this branch
Kamil Trzcinski's avatar
Kamil Trzcinski committed
31

Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
32

33
    - stages_status = pipeline.statuses.stages_status
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
34 35
    - stages.each do |stage|
      %td
36 37 38
        - status = stages_status[stage]
        - tooltip = "#{stage.titleize}: #{status || 'not found'}"
        - if status
39
          = link_to namespace_project_pipeline_path(@project.namespace, @project, pipeline.id, anchor: stage), class: "has-tooltip ci-status-icon-#{status}", title: tooltip do
Kamil Trzcinski's avatar
Kamil Trzcinski committed
40
            = ci_icon_for_status(status)
41
        - else
Kamil Trzcinski's avatar
Kamil Trzcinski committed
42
          .light.has-tooltip{ title: tooltip }
43
            \-
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
44 45

  %td
46
    - if pipeline.started_at && pipeline.finished_at
47
      %p.duration
48
        #{duration_in_words(pipeline.finished_at, pipeline.started_at)}
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
49

Kamil Trzcinski's avatar
Kamil Trzcinski committed
50
  %td
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
51
    .controls.hidden-xs.pull-right
52
      - artifacts = pipeline.builds.latest.select { |b| b.artifacts? }
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
53
      - if artifacts.present?
Kamil Trzcinski's avatar
Kamil Trzcinski committed
54
        .dropdown.inline.build-artifacts
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
55 56 57 58 59 60 61
          %button.dropdown-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'}
            = icon('download')
            %b.caret
          %ul.dropdown-menu.dropdown-menu-align-right
            - artifacts.each do |build|
              %li
                = link_to download_namespace_project_build_artifacts_path(@project.namespace, @project, build), rel: 'nofollow' do
Kamil Trzcinski's avatar
Kamil Trzcinski committed
62
                  = icon("download")
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
63 64 65
                  %span #{build.name}

      - if can?(current_user, :update_pipeline, @project)
66 67
        - if pipeline.retryable?
          = link_to retry_namespace_project_pipeline_path(@project.namespace, @project, pipeline.id), class: 'btn has-tooltip', title: "Retry", method: :post do
Kamil Trzcinski's avatar
WIP  
Kamil Trzcinski committed
68
            = icon("repeat")
69 70
        - if pipeline.cancelable?
          = link_to cancel_namespace_project_pipeline_path(@project.namespace, @project, pipeline.id), class: 'btn btn-remove has-tooltip', title: "Cancel", method: :post do
71
            = icon("remove")