115 lines
3.7 KiB
Text
115 lines
3.7 KiB
Text
= content_for :title do
|
|
%h3.project-title
|
|
Runner ##{@runner.id}
|
|
.float-right
|
|
- if @runner.instance_type?
|
|
%span.runner-state.runner-state-shared
|
|
Shared
|
|
- else
|
|
%span.runner-state.runner-state-specific
|
|
Specific
|
|
|
|
- page_title @runner.short_sha
|
|
- add_to_breadcrumbs _("Runners"), admin_runners_path
|
|
- breadcrumb_title "##{@runner.id}"
|
|
|
|
- if @runner.instance_type?
|
|
.bs-callout.bs-callout-success
|
|
%h4 This Runner will process jobs 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.
|
|
- elsif @runner.group_type?
|
|
.bs-callout.bs-callout-success
|
|
%h4 This runner will process jobs from all projects in its group and subgroups
|
|
- else
|
|
.bs-callout.bs-callout-info
|
|
%h4 This Runner will process jobs only from ASSIGNED projects
|
|
%p You can't make this a shared Runner.
|
|
%hr
|
|
|
|
.gl-mb-6
|
|
= render 'shared/runners/form', runner: @runner, runner_form_url: admin_runner_path(@runner), in_gitlab_com_admin_context: Gitlab.com?
|
|
|
|
.row
|
|
.col-md-6
|
|
%h4 Restrict projects for this Runner
|
|
- if @runner.projects.any?
|
|
%table.table.assigned-projects
|
|
%thead
|
|
%tr
|
|
%th Assigned projects
|
|
- @runner.runner_projects.each do |runner_project|
|
|
- project = runner_project.project
|
|
- if project
|
|
%tr
|
|
%td
|
|
.gl-alert.gl-alert-danger
|
|
= sprite_icon('error', size: 16, css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title')
|
|
.gl-alert-body
|
|
%strong
|
|
= project.full_name
|
|
.gl-alert-actions
|
|
= link_to s_('Disable'), admin_namespace_project_runner_project_path(project.namespace, project, runner_project), method: :delete, class: 'btn gl-alert-action btn-info btn-md gl-button'
|
|
|
|
%table.table.unassigned-projects
|
|
%thead
|
|
%tr
|
|
%th Project
|
|
%th
|
|
|
|
%tr
|
|
%td
|
|
= form_tag 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.full_name
|
|
%td
|
|
.float-right
|
|
= form_for project.runner_projects.new, url: admin_namespace_project_runner_projects_path(project.namespace, project), method: :post do |f|
|
|
= f.hidden_field :runner_id, value: @runner.id
|
|
= f.submit 'Enable', class: 'gl-button btn btn-sm'
|
|
= paginate_without_count @projects
|
|
|
|
.col-md-6
|
|
%h4 Recent jobs served by this Runner
|
|
%table.table.ci-table.runner-builds
|
|
%thead
|
|
%tr
|
|
%th Job
|
|
%th Status
|
|
%th Project
|
|
%th Commit
|
|
%th Finished at
|
|
|
|
- @builds.each do |build|
|
|
- project = build.project
|
|
%tr.build
|
|
%td.id
|
|
- if project
|
|
= link_to project_job_path(project, build) do
|
|
%strong ##{build.id}
|
|
- else
|
|
%strong ##{build.id}
|
|
|
|
%td.status
|
|
= render 'ci/status/badge', status: build.detailed_status(current_user)
|
|
|
|
%td.status
|
|
- if project
|
|
= project.full_name
|
|
|
|
%td.build-link
|
|
- if project
|
|
= link_to pipeline_path(build.pipeline) do
|
|
%strong= build.pipeline.short_sha
|
|
|
|
%td.timestamp
|
|
- if build.finished_at
|
|
%span= time_ago_with_tooltip build.finished_at
|