Show information about Runner set-up during CI/CD onboarding for self-managed

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

Problem to solve

Having access to runners is a requirement to effectively set up CI/CD. Currently during CI/CD onboarding there's no way for the user to know that they need runners. It's likely that once they open the Pipeline Editor as they onboard onto CI/CD, they will try to proceed with the pipeline set-up without having runners, unless we tell them they're required.

It's a broken part of the onboarding flow that may have an impact on time to green pipeline, which is a metric important to us.

Intended users

User experience goal

I want to easily set up my CI/CD pipeline without switching context and having to look for information across multiple locations.

Proposal

When no available runner can be detected on a self-managed project, show the alternative empty state. When a runner is available, we will show the current empty state with no changes.

Users with permissions to install runner (admins and maintainers +)

  • Provide runner set-up information and highlight it as the first required action
  • Primary confirm CTA button opens a modal with runner installation instructions
  • Show the available CI templates in one section as secondary information, with the Hello World template at the top of that section
  • Adjust the headers and description UI text as shown in the mockups
  • Place a "Runner required" badge next to the "Create pipeline configuration" section

Users with no permissions to install runner

  • Highlight the runner set-up is required
  • The CTA button opens the members page filtered to show the users with top permissions for that project, so user can find a maintainer to reach out to.
  • Show the available CI templates in one section as secondary information, with the Hello World template at the top of that section
  • Adjust the headers and description UI text as shown in the mockups
  • Place a "Runner required" badge next to the "Create pipeline configuration" section

design_1662361925607

Figma file

Further details

This issue is scoped to address runner set-up for projects in a self-managed instance only. We have a follow-up issue to explore the user flows around SAAS onboarding in case shared runners aren't available, or in case a custom runner is preferred to shared runners.

Permissions and Security

See the proposal above.

Documentation

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

Yes, grouprunner

Links / references

Edited by 🤖 GitLab Bot 🤖