Composite actions for running the FlatRun CLI in GitHub Actions workflows.
| Action | Purpose |
|---|---|
flatrun/actions/setup-flatrun |
Install the flatrun CLI on the runner and add it to PATH. |
Higher-level wrappers (deploy, api, ...) are intentionally not provided. Once setup-flatrun has put the binary on PATH, any FlatRun command is a single run: step away. Centralizing logic in the CLI keeps the action surface thin and avoids version skew between an action and the verb it wraps.
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: flatrun/actions/setup-flatrun@v1
with:
version: 0.1.0
- run: flatrun deployment deploy api
env:
FLATRUN_URL: ${{ vars.FLATRUN_URL }}
FLATRUN_TOKEN: ${{ secrets.FLATRUN_TOKEN }}See examples/ for fuller workflows.
Each action is consumed by Git ref. Recommended pinning, in order of strictness:
- Commit SHA:
uses: flatrun/actions/setup-flatrun@<sha>(auditable, immutable) - Release tag:
uses: flatrun/actions/setup-flatrun@v1.2.3 - Major tag:
uses: flatrun/actions/setup-flatrun@v1(tracks the latest 1.x)
Major tags are moved on every release within the same major version. Use SHA pinning in security-sensitive workflows.
| Runner | Supported |
|---|---|
| GitHub-hosted (Ubuntu, macOS) | Yes |
| Self-hosted Linux/macOS x86_64/arm64 | Yes, if gh, tar, and curl are available |
| Windows | Not yet |
Lint:
docker run --rm -v "$(pwd):/repo" rhysd/actionlint:latest -colorEach action is a standalone directory with an action.yml. Keep them dependency-free at the action layer; push logic into the CLI.