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.

recipe-failed-pipelines
One node in the browse tree puts nine projects on screen in a single fetch. The failure reason column separates a broken test from a runner that died, which is the difference between a bug report and a capacity ticket.

Steps

StepKeyWhat it does
1b then Enter on platformScopes to the group and every subgroup beneath it
2Tab to pipelinesSame scope, CI view
3f then status:failed updated < 24hOnly what went red since this morning
4PPins 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".

ReasonWhat it means
script_failureYour code or your test
runner_system_failureThe runner died. A retry will probably work
job_execution_timeoutIt hung, or it got slower
stuck_or_timeout_failureNo runner ever picked it up
runner_unsupportedTag mismatch. No runner matches this job

The source column shows how much of the red is scheduled dependency bumps. On many teams that is most of it.

Row actions

KeyActionKeyAction
Enterjobs by stage, plus the first failure inlineLthe failing job's log, scrolled to the error
Rretrywwatch 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.