ActioConfig
Defined in: packages/core/src/config.ts:62
Shape of an actio.config.{ts,js,mjs,cjs,json} file. Every field is optional;
a missing field falls back to the built-in default (and any explicit CLI flag
overrides the value here). See defineConfig for type-safe authoring.
Properties
annotate?
optional annotate?: boolean;Defined in: packages/core/src/config.ts:84
Append an actio-annotate job that, on failure, maps the failed step back
to its .actio.yml source line and emits workflow annotations. Requires the
source map. Default true.
artifacts?
optional artifacts?: object;Defined in: packages/core/src/config.ts:139
Inline step-level artifacts: macro config. uploader is the action ref
emitted for the trailing upload step (then pinned like any other ref under
pin policy). Default "actions/upload-artifact@v4".
uploader?
optional uploader?: string;coercion?
optional coercion?: CoercionMode;Defined in: packages/core/src/config.ts:127
Global default mode for the YAML type-coercion guard that defends emitted
string scalars against YAML-1.1 coercion on the Actions runner (no→false,
1:30→90, 2024-01-01→Date). fix single-quotes them, warn reports a
yaml-coercion-trap diagnostic, off disables it. An in-source root
coercion: key overrides this. Default "fix".
files?
optional files?: string[];Defined in: packages/core/src/config.ts:86
Glob patterns of .actio.yml files to compile when none are passed on the CLI.
header?
optional header?: boolean;Defined in: packages/core/src/config.ts:76
Prepend the "generated by Actio" banner. Default true.
include?
optional include?: string[];Defined in: packages/core/src/config.ts:88
Alias for files.
injectionHoist?
optional injectionHoist?: "off" | "warn" | "error" | "fix";Defined in: packages/core/src/config.ts:102
Global default mode for the injection-hoist security pass that defuses
${{ }} script-injection in run: blocks. Per-block injection-hoist:
knobs override this. Default "fix".
lint?
optional lint?: "off" | "warn" | "error";Defined in: packages/core/src/config.ts:74
Lint generated workflows with actionlint, mapping any finding back to its
.actio.yml source. off disables it (default); warn reports warnings
(exit 0); error fails the build (pairs well with actio check in CI).
This is output linting and is independent of the schema-gating validate
boolean. A missing actionlint binary is skipped gracefully.
outDir?
optional outDir?: string;Defined in: packages/core/src/config.ts:64
Directory generated workflows are written to. Default ".github/workflows".
passes?
optional passes?: Pass[];Defined in: packages/core/src/config.ts:90
Extra transform passes merged into the built-in pipeline (ordered by runsAfter).
permissions?
optional permissions?:
| PermissionsMode
| PermissionsConfig;Defined in: packages/core/src/config.ts:147
Least-privilege permissions: policy. off (default) is a no-op; infer
emits each job's computed minimal block (plus a top-level deny-all baseline);
check audits declared blocks and warns on over-grant (errors under
actio check). The object form adds an action -> scopes override table and
an opt-in inferRunScopes heuristic for run: steps.
pin?
optional pin?: "off" | PinConfig | "all";Defined in: packages/core/src/config.ts:133
Pin-on-compile policy. An object configures it granularly; the sugar "all"
pins everything (including first-party) and "off" disables pinning entirely.
Default: third-party + docker pinned, first-party left on-tag.
sourceMap?
optional sourceMap?: boolean;Defined in: packages/core/src/config.ts:78
Emit a sidecar <name>.yml.map source map next to each workflow. Default true.
strict?
optional strict?: boolean;Defined in: packages/core/src/config.ts:119
Opt-in strict YAML 1.2.2 source lint. When true, every YAML 1.1 merge key
(<<) in .actio.yml source is reported as a yaml-merge-key warning so a
repo can keep its source to a pure 1.2.2 style. Default false (permissive).
Lint-only: << is still resolved and erased at parse, so emitted YAML is
identical with or without strict mode. Anchors and aliases (&/*) are
valid 1.2.2 and never flagged. The --strict CLI flag overrides this.
target?
optional target?: ActioTarget;Defined in: packages/core/src/config.ts:96
Output target capability profile.
legacy: emits standard workflows with no native dependency lock block.github-actions-native-dependencies-preview: emits a nativedependencies:block.
unusedSymbols?
optional unusedSymbols?: "off" | "warn" | "error";Defined in: packages/core/src/config.ts:110
Severity for dead-code diagnostics on declared-but-unreferenced params,
fragments, and executors. off disables the check; warn reports
warnings (default); error escalates them to build failures (pairs well
with actio check in CI). Suppress a single symbol with a # actio-keep
comment on its declaration.
validate?
optional validate?: boolean;Defined in: packages/core/src/config.ts:66
Validate generated YAML against GitHub's workflow schema. Default true.