Everything red in a group
You want every pipeline that failed in a group and its subgroups since this morning, in one table, with the reason each one failed visible in the row. One node in the browse tree covers every project beneath it, so this is one wait rather than one wait per project.
Steps
| Step | Key | What it does |
|---|---|---|
| 1 | b then Enter on platform | Scopes to the group and every subgroup beneath it |
| 2 | Tab to pipelines | Same scope, CI view |
| 3 | f then status:failed updated < 24h | Only what went red since this morning |
| 4 | P | Pins it as Failed today |
Next time, press 2 instead of typing status:failed. Failed CI is one of the five quick filters.
Reading the result
A group scope includes its subgroups. Selecting one node in Browse is what puts nine projects on screen from a group tree rather than from a list you maintain.
The failure reason column turns a list into a diagnosis. Three runner_system_failure and stuck_or_timeout_failure rows are a runner capacity problem, and they would be invisible if every row said only "failed".
The source column shows how much of the red is scheduled dependency bumps. On many teams that is most of it.
Row actions
| Key | Action | Key | Action |
|---|---|---|---|
| Enter | jobs by stage, plus the first failure inline | L | the failing job's log, scrolled to the error |
| R | retry | w | watch it, and get notified when it lands |
Enter is usually enough. The failure summary puts the failing assertion in the preview without opening a log at all.
Variations
Human-triggered pipelines only
Add source:push,merge-request to the filter bar and the scheduled dependency bumps leave the table. On most teams this is the largest single change to the recipe.
The branch that must stay green
Add ref:main, pin it as main is red, then set that tab's refresh interval to 30 seconds. Each pinned view polls on its own schedule.
What is running right now
Filter to status:running,pending and pin it. Read the queued column: it separates CI that is slow from runners that are busy. The two feel identical and have different fixes.
A group with hundreds of projects
labdash bounds the fan-out across a group's projects itself. You never set a limit, and a very wide group still returns. See group pipelines.