allow disabling/enabling group runners per project

This commit is contained in:
Alexis Reigel 2017-10-05 09:55:01 +02:00
parent d8675bd45f
commit 7584d03ab1
No known key found for this signature in database
GPG Key ID: 55ADA7C7B683B329
4 changed files with 31 additions and 0 deletions

View File

@ -52,6 +52,12 @@ class Projects::RunnersController < Projects::ApplicationController
redirect_to project_settings_ci_cd_path(@project) redirect_to project_settings_ci_cd_path(@project)
end end
def toggle_group_runners
project.toggle!(:group_runners_enabled)
redirect_to project_settings_ci_cd_path(@project)
end
protected protected
def set_runner def set_runner

View File

@ -4,6 +4,16 @@
GitLab Group Runners can execute code for all the projects in this group. 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')}. They can be managed using the #{link_to 'Runners API', help_page_path('api/runners.md')}.
- if @project.group
%hr
- if @project.group_runners_enabled?
= link_to toggle_group_runners_project_runners_path(@project), class: 'btn btn-warning', method: :post do
Disable group Runners
- else
= link_to toggle_group_runners_project_runners_path(@project), class: 'btn btn-success', method: :post do
Enable group Runners
&nbsp; for this project
- if !@project.group - if !@project.group
This project does not belong to a group and can therefore not make use of group Runners. This project does not belong to a group and can therefore not make use of group Runners.

View File

@ -410,6 +410,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
collection do collection do
post :toggle_shared_runners post :toggle_shared_runners
post :toggle_group_runners
end end
end end

View File

@ -219,6 +219,20 @@ feature 'Runners' do
expect(page).to have_content 'Available group Runners : 1' expect(page).to have_content 'Available group Runners : 1'
expect(page).to have_content 'group-runner' expect(page).to have_content 'group-runner'
end end
scenario 'group runners may be disabled for a project' do
visit runners_path(project)
click_on 'Disable group Runners'
expect(page).to have_content 'Enable group Runners'
expect(project.reload.group_runners_enabled).to be false
click_on 'Enable group Runners'
expect(page).to have_content 'Disable group Runners'
expect(project.reload.group_runners_enabled).to be true
end
end end
end end
end end