Add configurable shared runners text

This commit is contained in:
Kamil Trzcinski 2016-04-15 15:51:41 +02:00
parent 5ae4fd2181
commit 6b124d42d9
8 changed files with 40 additions and 4 deletions

View File

@ -18,6 +18,8 @@ v 8.7.0 (unreleased)
- Allow projects to be transfered to a lower visibility level group
- Fix `signed_in_ip` being set to 127.0.0.1 when using a reverse proxy !3524
- Improved Markdown rendering performance !3389
- Improved Markdown rendering performance !3389 (Yorick Peterse)
- Make shared runners text in box configurable (Kamil Trzciński)
- Don't attempt to look up an avatar in repo if repo directory does not exist (Stan Hu)
- API: Ability to subscribe and unsubscribe from issues and merge requests (Robert Schilling)
- Expose project badges in project settings

View File

@ -75,6 +75,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
:admin_notification_email,
:user_oauth_applications,
:shared_runners_enabled,
:shared_runners_text,
:max_artifacts_size,
:metrics_enabled,
:metrics_host,

View File

@ -15,6 +15,10 @@ module ApplicationSettingsHelper
current_application_settings.sign_in_text
end
def shared_runners_text
current_application_settings.shared_runners_text
end
def user_oauth_applications?
current_application_settings.user_oauth_applications
end

View File

@ -153,7 +153,11 @@
= f.label :shared_runners_enabled do
= f.check_box :shared_runners_enabled
Enable shared runners for new projects
.form-group
= f.label :shared_runners_text, class: 'control-label col-sm-2'
.col-sm-10
= f.text_area :shared_runners_text, class: 'form-control', rows: 4
.help-block Markdown enabled
.form-group
= f.label :max_artifacts_size, 'Maximum artifacts size (MB)', class: 'control-label col-sm-2'
.col-sm-10

View File

@ -1,7 +1,10 @@
%h3 Shared runners
.bs-callout.bs-callout-warning
GitLab Runners do not offer secure isolation between projects that they do builds for. You are TRUSTING all GitLab users who can push code to project A, B or C to run shell scripts on the machine hosting runner X.
.bs-callout.bs-callout-warning.shared-runners-description
- if shared_runners_text.present?
= markdown(shared_runners_text)
- else
GitLab Runners do not offer secure isolation between projects that they do builds for. You are TRUSTING all GitLab users who can push code to project A, B or C to run shell scripts on the machine hosting runner X.
%hr
- if @project.shared_runners_enabled?
= link_to toggle_shared_runners_namespace_project_runners_path(@project.namespace, @project), class: 'btn btn-warning', method: :post do

View File

@ -0,0 +1,5 @@
class AddSharedRunnersTextToApplicationSettings < ActiveRecord::Migration
def change
add_column :application_settings, :shared_runners_text, :text
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160412140240) do
ActiveRecord::Schema.define(version: 20160415133440) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -78,6 +78,7 @@ ActiveRecord::Schema.define(version: 20160412140240) do
t.boolean "email_author_in_body", default: false
t.integer "default_group_visibility"
t.boolean "repository_checks_enabled", default: true
t.text "shared_runners_text"
end
create_table "audit_events", force: :cascade do |t|

View File

@ -80,6 +80,22 @@ describe "Runners" do
end
end
describe "shared runners description" do
let(:shared_runners_text) { 'custom shared runners description' }
before { stub_application_setting(shared_runners_text: shared_runners_text) }
before do
@project = FactoryGirl.create :empty_project, shared_runners_enabled: false
@project.team << [user, :master]
visit runners_path(@project)
end
it "sees shared runners description" do
expect(page.find(".shared-runners-description")).to have_content(shared_runners_text)
end
end
describe "show page" do
before do
@project = FactoryGirl.create :empty_project