Run Ende in GitHub Actions
Ende ships its formatter, linter, and test runner in the ende binary, so a CI
pipeline needs little more than installing Ende and running the corresponding
subcommands.
A minimal workflow
Ende’s install script installs it on the runner. This workflow checks formatting, lints, and runs tests on every push and pull request:
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Ende
run: |
curl -fsSL https://ende.sh/install.sh | sh
echo "$HOME/.ende/bin" >> "$GITHUB_PATH"
- run: ende ci # Install dependencies from the lockfile
- run: ende fmt --check
- run: ende lint
- run: ende test --allow-allThe script installs the latest release. To pin one, pass its version:
curl -fsSL https://ende.sh/install.sh | sh -s v2026.10.17.
Installing with a frozen lockfile
ende ci installs exactly what ende.lock records: it errors out if
ende.lock is missing, and fails if ende.json changed without the lockfile
being refreshed. That catches "bumped a version but forgot to commit the
lockfile" mistakes before they reach production.
Note
ende ci requires a committed ende.lock. If your repository doesn’t have
one yet, run ende install locally and commit the resulting lockfile.
For cross-platform matrices, coverage uploads, and other CI providers, see Continuous integration.