Shared CI runners for groups
What does this MR do?
This MR enables creating and using CI runners that are shared within a group.
- New ci runner type
- API support
- Minimal UI update to see and manage group runners
The extensive UI update (see https://gitlab.com/gitlab-org/gitlab-ce/issues/10244#note_24934429) is excluded from this MR.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
Description from https://gitlab.com/gitlab-org/gitlab-ce/issues/10244:
Currently, it's only possible to add CI runners that are project specific or shared globally. However, there also should be an option of adding CI runners that are shared for a group.
In other words, if I'm launching my custom runner that I want to be available for all projects in the group, I need a place to do this centrally, instead of enabling this runner manually for every project.
Screenshots (if relevant)
Empty state when there are no group runners
When group runners are disabled
One group runner added but not running
One group runner that is running
When you have master on project but only developer on group
Does this MR meet the acceptance criteria?
- Changelog entry added
- Documentation created/updated
- API support added
- Added for this feature/bug
- All builds are passing
- Conform by the merge request performance guides
- Conform by the style guides
Branch has no merge conflicts with
master(if it does - rebase it please)
- Reviewed by CI/CD backend
- Reviewed by UX
- Reviewed by DB team
- Squashed related commits together