Actio
API ReferenceInterfaces

TranspileOptions

Defined in: packages/core/src/transpile.ts:30

Properties

actionlintRunner?

optional actionlintRunner?: ActionlintRunner;

Defined in: packages/core/src/transpile.ts:46

Injectable actionlint runner (tests provide this to avoid the real binary).


annotate?

optional annotate?: boolean;

Defined in: packages/core/src/transpile.ts:55

Append the actio-annotate job that maps runtime failures back to source. Requires sourceMap; ignored (with a warning) without it. Default false.


artifacts?

optional artifacts?: object;

Defined in: packages/core/src/transpile.ts:103

Inline step-level artifacts: macro config. uploader is the action ref emitted for the trailing upload step (pinned downstream like any other ref). Default "actions/upload-artifact@v4".

uploader?

optional uploader?: string;

coercion?

optional coercion?: CoercionMode;

Defined in: packages/core/src/transpile.ts:90

YAML type-coercion guard mode. fix force-quotes emitted string scalars that a YAML-1.1 consumer (per-action action.yml parsing, the on: key, downstream tooling) would coerce (e.g. no→false, 1:30→90, 2024-01-01→Date, 1_000→1000); warn leaves them unquoted and emits a yaml-coercion-trap warning; off disables the guard. An in-source root coercion: key overrides this. Default "fix".


fileName?

optional fileName?: string;

Defined in: packages/core/src/transpile.ts:32

File name used in diagnostics and the generated banner. Default "<input>".


optional header?: boolean;

Defined in: packages/core/src/transpile.ts:34

Prepend the "generated by Actio" banner. Default true.


injectionHoist?

optional injectionHoist?: "off" | "warn" | "error" | "fix";

Defined in: packages/core/src/transpile.ts:67

Global default mode for the injection-hoist security pass. Per-block injection-hoist: knobs (root/job/step) override this. Default "fix".


lint?

optional lint?: LintMode;

Defined in: packages/core/src/transpile.ts:44

Lint the generated workflow with actionlint and surface findings on the .actio.yml source. off skips it (default); warn reports warnings; error escalates findings to build failures. Distinct from validate, which gates the schema check. A missing actionlint binary is skipped gracefully with an informational note.


modules?

optional modules?: ModuleResolver;

Defined in: packages/core/src/transpile.ts:120

Cross-file import seam (#161). Resolves inject: ./lib#name selectors to module sources. Keeps transpile() pure string->string: when omitted, local cross-file injects error with import-module-not-found. The CLI/build layer supplies a filesystem resolver; tests inject an in-memory one.


nativeDependencies?

optional nativeDependencies?: NativeDependencies;

Defined in: packages/core/src/transpile.ts:62

Native workflow lock data emitted as top-level dependencies: for preview targets. The resolver that computes this data lives in the CLI/build layer.


passes?

optional passes?: Pass[];

Defined in: packages/core/src/transpile.ts:48

Extra transform passes merged into the built-in pipeline (ordered by runsAfter).


permissions?

optional permissions?: 
  | PermissionsMode
  | PermissionsConfig;

Defined in: packages/core/src/transpile.ts:108

Least-privilege permissions policy (string sugar or granular config). Default off. Resolved into ctx.internal.permissions for the late permissions pass.


permissionsStrict?

optional permissionsStrict?: boolean;

Defined in: packages/core/src/transpile.ts:113

Escalate check-mode over-grant diagnostics from warning to error. Set by the CLI under actio check so a too-broad declared block fails CI.


pin?

optional pin?: PinOptions;

Defined in: packages/core/src/transpile.ts:97

Pin-on-compile request. When set, pinnable uses: literals are rewritten to their resolved digest after all passes run (so inline {{ }} refs are final); resolutions seeds known digests and discovered targets surface in the result. Network resolution lives in the CLI/build layer.


sourceMap?

optional sourceMap?: boolean;

Defined in: packages/core/src/transpile.ts:50

Produce a source map and remap schema diagnostics back to source. Default false.


strict?

optional strict?: boolean;

Defined in: packages/core/src/transpile.ts:81

Opt-in strict YAML 1.2.2 source lint. When true, every YAML 1.1 merge key (<<) in source is reported as a yaml-merge-key warning so repos can keep .actio.yml to a pure 1.2.2 style. Default false (permissive). Lint-only: << is still resolved and erased at parse, so emitted YAML is unchanged.


target?

optional target?: ActioTarget;

Defined in: packages/core/src/transpile.ts:57

Output target capability profile. Defaults to legacy behavior.


unusedSymbols?

optional unusedSymbols?: UnusedSymbolsMode;

Defined in: packages/core/src/transpile.ts:74

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. Suppress a single symbol with a # actio-keep comment on its declaration.


validate?

optional validate?: boolean;

Defined in: packages/core/src/transpile.ts:36

Validate generated YAML against GitHub's workflow schema. Default true.

On this page