Add a descriptive empty state for runners
What does this MR do and why?
Increase feature adoption and feature discovery for runners by leading admin and group view users to register their first runner.
When search criteria does not match any runners, provide a helpful message in the admin and group views.
Changelog: changed
Fixes:
-
Improve Admin runners list view empty state whe... (#339504 - closed) -
Improve Admin runners list view search empty state (#339494 - closed) -
Improve experience of setting up a runner in th... (#18632 - closed)
Screenshots or screen recordings
Both Admin Runners and Group Runners views have two new empty states:
no filters applied | with at least one filter applied |
---|---|
How to set up and validate locally
Admin Runners:
- Have no runners registered. See below to simulate this.
- Visit Admin -> Runners
- Verify the empty state and click the button
- Apply any filter
- Verify the empty state
You can simulate having no runners at all by applying this diff:
diff --git a/app/graphql/resolvers/ci/runners_resolver.rb b/app/graphql/resolvers/ci/runners_resolver.rb
index e221dfea4d0..ac54970c62a 100644
--- a/app/graphql/resolvers/ci/runners_resolver.rb
+++ b/app/graphql/resolvers/ci/runners_resolver.rb
@@ -37,6 +37,8 @@ class RunnersResolver < BaseResolver
description: 'Sort order of results.'
def resolve_with_lookahead(**args)
+ return []
+
apply_lookahead(
::Ci::RunnersFinder
.new(current_user: current_user, params: runners_finder_params(args))
Group Runners:
- Have no runners registered in your group. Create a new group if needed.
- Visit Group -> CI/CD -> Runners
- Verify the empty state and click the button
- Apply any filter
- Verify the empty state
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Miguel Rincon