builtinPasses
const builtinPasses: Pass[];Defined in: packages/core/src/passes/index.ts:61
The transforms Actio ships with. Order is derived from each pass's runsAfter
(see registry.ts), not this array, so the effective pipeline is:
import → params → call-templates → job-defaults → for-each → when-compile → fragments → artifacts → share → reference-lower → retry → fallback → soft-fail → dynamic-matrix → expand-matrix → lifecycle → if-changed → injection-hoist → share-matrix-check → reference-wire
import runs FIRST (no runsAfter, first in this array) so cross-file
inject: ./lib#name steps/jobs are spliced into the tree before every other
macro expands and before the terminal pin walks the assembled output (#161).
reusable runs right after params so its input-reference normalization sees
fully resolved compile-time text before the call/normal job partition.
call-templates slots in immediately after params (and before job-defaults)
so extends: materializes uses before the call/normal job partition.
artifacts runs after fragments (so fragment/injected steps carrying
artifacts: also expand) and before retry (so a retried step fans out only
its run, not a duplicate uploader per attempt).
share-matrix-check runs after both matrix passes so the matrix-output clobber
guard sees the final matrix shape, including matrices injected by dynamic-matrix
after share already wired the outputs (#158).
reference-lower runs after share (it reuses share's wire engine and the
fragments slot) and rewrites every ${{ ref.* }} consumer; reference-wire
runs last, after every matrix/lifecycle pass, so its cross-job job.outputs
synthesis and matrix-clobber guard see the settled matrix shape (#160).