Skip to content

Implement group & project runner creation using "New Runner creation workflow"

Background

In #387808 (closed) we implemented the new runner creation workflow for Instance runners, so admins can create runners using the new creation workflow: #383139 (closed).

In #393887 (closed) we describe the required feature flag and permissions changes related to this

More work is needed to extend GraphQL APIs needed for groups and projects.

Description

The RunnerCreate mutation should be extended parameters:

  • runnerType <CiRunnerType>: Describes the type of runner that should be created.
  • namespacePath <ID>: Identifier for GROUP_TYPE/PROJECT_TYPE runners of which group/project to attach the runner.

create_runner_workflow_for_namespace should be used to check which groups and projects have the mutation enabled.

Implementation plan

We should create a new feature flag and update our policies to create this mutation.

  • Update app/services/ci/runners/create_runner_service.rb to include the 3 new parameters
  • Update app/graphql/mutations/ci/runner/create.rb to include the 3 new arguments
Edited by Pedro Pombeiro