Follow-up from "Shared CI runners for groups"

The following discussions from !9646 (merged) should be addressed:

  • @ayufan started a discussion: (+1 comment)

    This seems very strange that we test and allow shared runner with groups and projects. This should be forbidden by the validation as invalid usage, as this has no direct meaning from the logic about queueing.

  • @ayufan started a discussion: (+1 comment)

    Why this is needed?

Additionally we have

  • We should add not null constraint to runner_type
  • Ensure no more use of is_shared
  • runner_type validations should be expanded:
validates :no_projects, unless :project_type
validates :no_groups, unless :group_type
  • Probably want some cross model validations to ensure that invalid RunnerNamespace are not created
  • enable_group_runners should trigger refresh of queue this should be handled in https://gitlab.com/gitlab-org/gitlab-ce/issues/34401#note_72277151
  • Some more missing parens:
commit 1c2952c3adbe918e726fd6a66227a4db4150c2ee
Author: Dylan Griffith <dyl.griffith@gmail.com>
Date:   Fri May 4 11:44:22 2018 +0200

    Add missing parens for create in spec/models/project_spec.rb

diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 08e42b61910..c7e3e3f213c 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -1140,9 +1140,9 @@ describe Project do
 
   describe '#any_runners?' do
     context 'shared runners' do
-      let(:project) { create :project, shared_runners_enabled: shared_runners_enabled }
-      let(:specific_runner) { create :ci_runner }
-      let(:shared_runner) { create :ci_runner, :shared }
+      let(:project) { create(:project, shared_runners_enabled: shared_runners_enabled) }
+      let(:specific_runner) { create(:ci_runner) }
+      let(:shared_runner) { create(:ci_runner, :shared) }
 
       context 'for shared runners disabled' do
         let(:shared_runners_enabled) { false }
@@ -1200,9 +1200,9 @@ describe Project do
     end
 
     context 'group runners' do
-      let(:project) { create :project, group_runners_enabled: group_runners_enabled }
-      let(:group) { create :group, projects: [project] }
-      let(:group_runner) { create :ci_runner, groups: [group] }
+      let(:project) { create(:project, group_runners_enabled: group_runners_enabled) }
+      let(:group) { create(:group, projects: [project]) }
+      let(:group_runner) { create(:ci_runner, groups: [group]) }
 
       context 'for group runners disabled' do
         let(:group_runners_enabled) { false }
  • Remove factory traits :shared and :specific
Edited Jun 01, 2018 by Dylan Griffith (ex GitLab)
Assignee Loading
Time tracking Loading