summaryrefslogtreecommitdiff
path: root/app/views/ci/admin/runners/show.html.haml
blob: fd3d33d657b8efe6a2aaa536d560e88a39951fd3 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
= content_for :title do
  %h3.project-title
    Runner ##{@runner.id}
    .pull-right
      - if @runner.shared?
        %span.runner-state.runner-state-shared
          Shared
      - else
        %span.runner-state.runner-state-specific
          Specific



- if @runner.shared?
  .bs-callout.bs-callout-success
    %h4 This runner will process builds from ALL UNASSIGNED projects
    %p
      If you want runners to build only specific projects, enable them in the table below.
      Keep in mind that this is a one way transition.
- else
  .bs-callout.bs-callout-info
    %h4 This runner will process builds only from ASSIGNED projects
    %p You can't make this a shared runner.
%hr
= form_for @runner, url: ci_admin_runner_path(@runner), html: { class: 'form-horizontal' } do |f|
  .form-group
    = label_tag :token, class: 'control-label' do
      Token
    .col-sm-10
      = f.text_field :token, class: 'form-control', readonly: true
  .form-group
    = label_tag :description, class: 'control-label' do
      Description
    .col-sm-10
      = f.text_field :description, class: 'form-control'
  .form-group
    = label_tag :tag_list, class: 'control-label' do
      Tags
    .col-sm-10
      = f.text_field :tag_list, value: @runner.tag_list.to_s, class: 'form-control'
      .help-block You can setup builds to only use runners with specific tags
  .form-actions
    = f.submit 'Save', class: 'btn btn-save'

.row
  .col-md-6
    %h4 Restrict projects for this runner
    - if @runner.projects.any?
      %table.table
        %thead
          %tr
            %th Assigned projects
            %th
        - @runner.runner_projects.each do |runner_project|
          - project = runner_project.project
          - if project.gl_project
            %tr.alert-info
              %td
                %strong
                  = project.name
              %td
                .pull-right
                  = link_to 'Disable', [:ci, :admin, project, runner_project], method: :delete, class: 'btn btn-danger btn-xs'

    %table.table
      %thead
        %tr
          %th Project
          %th
            .pull-right
              = link_to 'Assign to all', assign_all_ci_admin_runner_path(@runner),
                class: 'btn btn-sm assign-all-runner',
                title: 'Assign runner to all projects',
                method: :put

      %tr
        %td
          = form_tag ci_admin_runner_path(@runner), id: 'runner-projects-search', class: 'form-inline', method: :get do
            .form-group
              = search_field_tag :search, params[:search], class: 'form-control', spellcheck: false
            = submit_tag 'Search', class: 'btn'

        %td
      - @projects.each do |project|
        %tr
          %td
            = project.name
          %td
            .pull-right
              = form_for [:ci, :admin, project, project.runner_projects.new] do |f|
                = f.hidden_field :runner_id, value: @runner.id
                = f.submit 'Enable', class: 'btn btn-xs'
    = paginate @projects

  .col-md-6
    %h4 Recent builds served by this runner
    %table.builds.runner-builds
      %thead
        %tr
          %th Build ID
          %th Status
          %th Project
          %th Commit
          %th Finished at

      - @builds.each do |build|
        - gl_project = build.gl_project
        %tr.build
          %td.id
            - if gl_project
              = link_to namespace_project_build_path(gl_project.namespace, gl_project, build) do
                = build.id
            - else
              = build.id

          %td.status
            = ci_status_with_icon(build.status)

          %td.status
            - if gl_project
              = gl_project.name_with_namespace

          %td.build-link
            - if gl_project
              = link_to ci_status_path(build.commit) do
                %strong #{build.commit.short_sha}

          %td.timestamp
            - if build.finished_at
              %span #{time_ago_in_words build.finished_at} ago