summaryrefslogtreecommitdiff
path: root/app/views/projects/runners/_runner.html.haml
blob: 18803bdd8f39ed561f1e7d2e1c09cfaf779beff8 (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
%li{ id: dom_id(runner) }
  .gl-display-flex.gl-justify-content-space-between
    %div
      = runner_status_icon(runner, size: 16)
      - if @project_runners.include?(runner)
        = link_to "##{runner.id} (#{runner.short_sha})", project_runner_path(@project, runner)
      - else
        %span
          = "##{runner.id} (#{runner.short_sha})"
      - if runner.locked?
        %span.has-tooltip{ title: s_('Runners|Runner is locked and available for currently assigned projects only. Only administrators can change the assigned projects.') }
          = sprite_icon('lock')
    .gl-ml-2
      .btn-group.btn-group-sm
        - if @project_runners.include?(runner)
          = link_to edit_project_runner_path(@project, runner), class: 'btn gl-button btn-icon', title: _('Edit'), aria: { label: _('Edit') }, data: { testid: 'edit-runner-link', toggle: 'tooltip', placement: 'top', container: 'body' } do
            = sprite_icon('pencil')
          - if runner.active?
            = link_to pause_project_runner_path(@project, runner), method: :post, class: 'btn gl-button btn-icon', title: s_('Runners|Pause from accepting jobs'), aria: { label: _('Pause') }, data: { toggle: 'tooltip', container: 'body', confirm: _("Are you sure?") } do
              = sprite_icon('pause')
          - else
            = link_to resume_project_runner_path(@project, runner), method: :post, class: 'btn gl-button btn-icon', title: s_('Runners|Resume accepting jobs'), aria: { label: _('Resume') }, data: { toggle: 'tooltip', container: 'body' } do
              = sprite_icon('play')
          - if runner.belongs_to_one_project?
            = link_to _('Remove runner'), project_runner_path(@project, runner), aria: { label: _('Remove') }, data: { confirm: _("Are you sure?"), 'confirm-btn-variant': 'danger' }, method: :delete, class: 'btn gl-button btn-danger'
          - else
            - runner_project = @project.runner_projects.find_by(runner_id: runner) # rubocop: disable CodeReuse/ActiveRecord
            = link_to _('Disable for this project'), project_runner_project_path(@project, runner_project), aria: { label: _('Disable') }, data: { confirm: _("Are you sure?"), 'confirm-btn-variant': 'danger' }, method: :delete, class: 'btn gl-button btn-danger'
        - elsif runner.project_type?
          = form_for [@project, @project.runner_projects.new] do |f|
            = f.hidden_field :runner_id, value: runner.id
            = f.submit _('Enable for this project'), class: 'btn gl-button'
  - if runner.description.present?
    %p.gl-my-2
      = runner.description
  - if runner.tags.present?
    .gl-my-2
      - runner.tags.map(&:name).sort.each do |tag|
        = gl_badge_tag tag, variant: :info, size: :sm