Commit 7584d03a authored by Alexis Reigel's avatar Alexis Reigel

allow disabling/enabling group runners per project

parent d8675bd4
...@@ -52,6 +52,12 @@ class Projects::RunnersController < Projects::ApplicationController ...@@ -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
......
...@@ -4,6 +4,16 @@ ...@@ -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.
......
...@@ -410,6 +410,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -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
......
...@@ -219,6 +219,20 @@ feature 'Runners' do ...@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment