Run an OrchStep workflow, lint, or list-tasks on a GitHub Actions runner in a single step. The action installs the OrchStep CLI for you, so you do not need a separate setup step.
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
workflow: orchstep.ymlThis installs the latest OrchStep release, verifies it, and runs the main
task of your orchstep.yml workflow.
| Input | Description | Default |
|---|---|---|
workflow |
Path to the workflow file (relative to working-directory) |
required |
task |
Named task to run (run command only; default: the main task) | '' |
command |
Subcommand: run, lint, or list-tasks |
run |
vars |
Multi-line KEY=VALUE pairs passed as --var |
'' |
vars-file |
Path to a YAML vars file passed as --vars-file |
'' |
env |
Environment name passed as --env (dev, staging, production) |
'' |
working-directory |
Directory to run from | ${{ github.workspace }} |
version |
OrchStep CLI version to install: latest or a semver |
latest |
extra-args |
Additional CLI arguments passed verbatim | '' |
fail-on-error |
Fail the action when the CLI exits nonzero | true |
| Output | Description |
|---|---|
exit-code |
The exit code returned by the OrchStep CLI |
summary |
The first 50 lines of CLI output |
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
workflow: orchstep.yml
task: deploy
vars: |
region=us-east-1
api_token=${{ secrets.API_TOKEN }}jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
command: lint
workflow: orchstep.ymljobs:
deploy:
strategy:
matrix:
env: [dev, staging, production]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
workflow: orchstep.yml
task: deploy
env: ${{ matrix.env }}A workflow captured with /orchstep-capture can be replayed on every pull
request to catch regressions before they merge.
jobs:
regression:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
command: run
workflow: .orchstep/captured-session.ymlon:
schedule:
- cron: '0 6 * * *'
jobs:
nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orchstep/run-orchstep@v1
with:
workflow: orchstep.yml
task: nightlyThe OrchStep CLI binary is verified against the SHA256 sums published in the
release's checksums.txt before it is installed; a missing or mismatched
checksum fails the action. Note that GitHub Actions step summaries are not
secret-masked, so any workflow or CLI output that echoes a secret value would
be visible on the run page. Ensure your workflows and the OrchStep CLI do not
print secret variable values.
See LICENSE.