Matrix collapse
Skip until Graph (or many deploy environments) makes the GitHub Actions UI noisy. Auto is already on; you do not set this to get started.
Matrix collapse folds look-alike jobs into one GitHub Actions job with strategy.matrix, so the UI shows one
expandable node instead of a busy graph.
Default is Auto. Modes:
| Mode | Behavior |
|---|---|
| Auto (default) | Collapse when legs are safe (simple matrix or matrix.include); otherwise expand without failing generate |
| Off | One job per Graph module / Aggregate-or-Layer target |
| Strict | Collapse only when legs are independent and isomorphic; else generate fails |
| Coarse | May drop Graph needs between modules of the same capability (GHA cannot do per-leg needs); still errors if templates diverge |
Cascade: Capability.withMatrixCollapse wins over zipxMatrixCollapse plan map, else Auto.
Actions graph
A small monorepo: Aggregate test, then Graph image / docker / deploy for api, web, and batch. Toggle
Strict with the api→batch edge on to see the generate gate; Auto keeps the expanded jobs instead; switch to
Coarse to collapse anyway (needs dropped).
actionsGraphLabapi · web · batch (Graph image + docker + deploy after Aggregate test)API
zipxMatrixCollapse := Map(
Capability.DockerName -> MatrixCollapse.Strict,
)
zipxCapabilities += Capability.custom(...).withMatrixCollapse(MatrixCollapse.Strict)
zipxCapabilities += Capability.dockerGraph.withMatrixCollapse(MatrixCollapse.Off) // veto Auto
Adopting collapse renames required checks: image api becomes image (api). Use capability Off
during cutover; dual emission is not supported.