show group runners on runners page
This commit is contained in:
parent
eba1a05f15
commit
4ccf734e38
|
@ -67,10 +67,14 @@ module Projects
|
|||
|
||||
def define_runners_variables
|
||||
@project_runners = @project.runners.ordered
|
||||
|
||||
@assignable_runners = current_user.ci_authorized_runners
|
||||
.assignable_for(project).ordered.page(params[:page]).per(20)
|
||||
@shared_runners = ::Ci::Runner.shared.active
|
||||
|
||||
@shared_runners_count = @shared_runners.count(:all)
|
||||
|
||||
@group_runners = ::Ci::Runner.belonging_to_group(@project.id)
|
||||
end
|
||||
|
||||
def define_secret_variables
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
%h3 Group Runners
|
||||
|
||||
.bs-callout.bs-callout-warning
|
||||
GitLab Group Runners can execute code for all the projects in this group.
|
||||
They can be managed using the #{link_to 'Runners API', help_page_path('api/runners.md')}.
|
||||
|
||||
- if !@project.group
|
||||
This project does not belong to a group and can therefore not make use of group Runners.
|
||||
|
||||
- elsif @group_runners.empty?
|
||||
This group does not provide any group Runners yet.
|
||||
|
||||
= render partial: 'ci/runner/how_to_setup_runner',
|
||||
locals: { registration_token: @project.group.runners_token, type: 'group' }
|
||||
|
||||
- else
|
||||
%h4.underlined-title Available group Runners : #{@group_runners.count}
|
||||
%ul.bordered-list
|
||||
= render partial: 'projects/runners/runner', collection: @group_runners, as: :runner
|
|
@ -23,3 +23,7 @@
|
|||
= render 'projects/runners/specific_runners'
|
||||
.col-sm-6
|
||||
= render 'projects/runners/shared_runners'
|
||||
.row
|
||||
.col-sm-6
|
||||
.col-sm-6
|
||||
= render 'projects/runners/group_runners'
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
- else
|
||||
- runner_project = @project.runner_projects.find_by(runner_id: runner)
|
||||
= link_to 'Disable for this project', project_runner_project_path(@project, runner_project), data: { confirm: "Are you sure?" }, method: :delete, class: 'btn btn-danger btn-sm'
|
||||
- elsif runner.specific?
|
||||
- elsif runner.project?
|
||||
= form_for [@project.namespace.becomes(Namespace), @project, @project.runner_projects.new] do |f|
|
||||
= f.hidden_field :runner_id, value: runner.id
|
||||
= f.submit 'Enable for this project', class: 'btn btn-sm'
|
||||
|
|
|
@ -181,4 +181,44 @@ feature 'Runners' do
|
|||
expect(page.find('.shared-runners-description')).to have_content('Disable shared Runners')
|
||||
end
|
||||
end
|
||||
|
||||
context 'group runners' do
|
||||
background do
|
||||
project.add_master(user)
|
||||
end
|
||||
|
||||
context 'project without a group' do
|
||||
given(:project) { create :project }
|
||||
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.'
|
||||
end
|
||||
end
|
||||
|
||||
context 'project with a group but no group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'This group does not provide any group Runners yet.'
|
||||
end
|
||||
end
|
||||
|
||||
context 'project with a group and a group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
given!(:ci_runner) { create :ci_runner, groups: [group], description: 'group-runner' }
|
||||
|
||||
scenario 'group runners are available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'Available group Runners : 1'
|
||||
expect(page).to have_content 'group-runner'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue