0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-06-19 04:49:06 +02:00
silverwind d35b3e65d6
refactor(actions): defer dynamic matrix expansion to jobparser
Expand a needs-dependent matrix through the new jobparser.ExpandMatrixWithNeeds,
which evaluates the raw matrix against the needs context via NewInterpeter the
same way EvaluateConcurrency does. This replaces synthesizing a workflow with
stub jobs and re-parsing it once the dependencies complete.

Parse now emits a single placeholder per needs-dependent matrix and the whole
matrix expands exactly once when the needs finish, instead of being split per
static value at planning time and re-expanded per placeholder. This removes
ExtractRawStrategies, HasMatrixWithNeeds and constructWorkflowWithNeeds.

Side effects of deferring the whole matrix: a static+dynamic matrix no longer
duplicates N times, needs-output detection no longer relies on string matching
(so bracket notation is handled), and a deferred placeholder gets no commit
status until it expands, avoiding an orphaned status from the name change.

Co-Authored-By: Claude (Opus 4.8) <noreply@anthropic.com>
2026-05-29 09:40:31 +02:00
..