Make the project runners UI consistent with the group and admin ones
Problem(s)
Currently, we have three levels at which Runner View and Management are available. Project Level, Group Level, and Instance Level.
- Currently the runners are placed in the settings menu within the CI/CD page. This makes it so that runners are only visible to masters of the project.
- Runners are a big deal to GitLab's CI/CD but are at the same time very secluded/not visible.
- Runners pages everywhere are a neglected piece of UI, which is used a lot by certain people. Having it be in the settings pages, makes it harder to reach/find.
- It's currently hard to gauge for people why their job is pending.. when all runners are already busy
Proposal
The proposal is to add a Runners page under CI/CD in the sidebar for each project. This page should show the available Runners for that particular project.
Ideally, the three levels should behave the same. Each level should show the runners under it the same way and if you have the right membership permission in the project and group you can manage them. The Admin level stays the same in that sense since anyone that has access to that is considered an Admin member.
Note: See #19819 (closed) for the issue for groups runners.
Breakdown of design + development tasks
-
UX Create design for project runners -
UX Run solution validation to confirm developers can still complete their jobs -
backend GraphQL API: Query "runners" in a given project -
backend GraphQL API: Mutation to add/remove a runner from a project -
frontend Add new empty page under Group -> CI/CD -> Runners
(new feature flag) example URL: https://gitlab.com/gitlab-org/gitlab/-/runners -
frontend Add features for runner administration: -
View and reset runner registration Token for the project. -
List runners that can be used by the group
-
-
frontend Roullout "Project -> CI/CD -> Runners" feature flag -
documentation To indicate that new page is available
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.