Skip to main content
Athanor supports a practical subset of GitHub Actions workflow syntax. It covers enough to run most CI pipelines that don’t depend on marketplace actions.

run: Steps

Every step must have a run: field containing a shell script. Multi-line scripts work with YAML block scalars:
Scripts are written to a temp file and executed with bash (or the configured shell:).

shell: Override

Or set a default for the whole job:

working-directory:

Set per-step or as a job default:
Relative paths are resolved against the workflow file’s parent directory.

env: at Every Level

Environment variables cascade: workflow → job → step. Each level can override variables from the level above.

id: and $GITHUB_OUTPUT

Steps can produce outputs that later steps reference:
The $GITHUB_OUTPUT file is created per-step and parsed after the step exits.

if: Conditions

Three built-in functions control whether a step runs:

continue-on-error:

When true, a non-zero exit code from this step does not mark the job as failed, and subsequent steps continue executing under success() conditions:

needs: Job Dependencies

See the dedicated Job Dependencies guide.