Task Summary
Umbrella for the "optional CI" line of work: make the Build workflow's main stacks (frontend, scala, python, agent-service) and the per-target backport matrix run only for the stacks a PR actually touches, driven by the labels applied by the Pull Request Labeler.
Motivation
Today every PR pays the full CI matrix (frontend × 3 OS, scala, python × 4 versions, agent-service × 2 OS, plus a backport matrix per release/* label). Pure frontend changes pay the scala/python tax; docs-only PRs wait on sbt; release-labelled docs PRs spawn an entire backport matrix that builds nothing relevant. The labels the Pull Request Labeler already produces are a near-perfect signal for what each PR actually needs to verify.
Future candidates (open as new sub-issues when prioritized)
- Symmetric rules for
python / engine / service only PRs.
- Skipping individual matrix combinations (e.g. only running frontend on
ubuntu-latest for non-frontend PRs that still touch shared infra).
- Treating
ci / dependencies labels explicitly (currently they fall into the catch-all "run everything" branch).
Priority
P2 – Medium
Task Type
Task Summary
Umbrella for the "optional CI" line of work: make the Build workflow's main stacks (
frontend,scala,python,agent-service) and the per-target backport matrix run only for the stacks a PR actually touches, driven by the labels applied by the Pull Request Labeler.Motivation
Today every PR pays the full CI matrix (frontend × 3 OS, scala, python × 4 versions, agent-service × 2 OS, plus a backport matrix per
release/*label). Pure frontend changes pay the scala/python tax; docs-only PRs wait on sbt; release-labelled docs PRs spawn an entire backport matrix that builds nothing relevant. The labels the Pull Request Labeler already produces are a near-perfect signal for what each PR actually needs to verify.Future candidates (open as new sub-issues when prioritized)
python/engine/serviceonly PRs.ubuntu-latestfor non-frontend PRs that still touch shared infra).ci/dependencieslabels explicitly (currently they fall into the catch-all "run everything" branch).Priority
P2 – Medium
Task Type