- uses: verzly/setup-aube@v1verzly/setup-aube installs aube in GitHub Actions using official release binaries.
It resolves versions from npm dist-tags, downloads the matching upstream binary from aube GitHub repository, adds it to PATH, and can optionally run install commands in a pnpm-style workflow.
Use this action to install aube in your workflow and make it available on the PATH for subsequent steps.
It works on x64 and arm64 runners across Linux, macOS, and Windows, and requires no additional setup.
Note
Node.js is not required to use aube itself. However, since aube manages JavaScript packages, installing Node.js is recommended if you plan to run those packages.
This installs the latest version of aube and lets you run commands directly:
steps:
- uses: actions/checkout@v6
# Install the latest aube release
- uses: verzly/setup-aube@v1
- run: aube installNote
This action supports moving tags such as @latest, @v1, and @v1.2, as well as exact versions like @v1.2.3.
In general, @v1 is recommended for most workflows, while @v1.2.3 is best for strict reproducibility.
If you need a specific version (for reproducibility or debugging), you can pin it:
steps:
- uses: actions/checkout@v6
- uses: verzly/setup-aube@v1
with:
version: v1.0.0-beta.10
- run: aube installTo automatically install dependencies as part of setup:
steps:
- uses: actions/checkout@v6
- uses: verzly/setup-aube@v1
with:
run_install: trueThis is equivalent to running aube install right after setup.
For more control, you can pass a structured configuration:
- uses: verzly/setup-aube@v1
with:
run_install: |
command: ci
cwd: app
args:
- --prodThis allows you to customize how and where install commands are executed.
| Name | Description | Default |
|---|---|---|
version |
aube version (latest, next, or exact) |
latest |
run_install |
Run aube install automatically |
null |
| Name | Description |
|---|---|
version |
Resolved aube version (e.g. v1.0.0-beta.10) |
bin-dir |
Directory added to PATH |
This action installs aube by resolving the requested version from npm, downloading the matching prebuilt binary from the official releases, extracting it, and adding it to the system PATH. Once installed, it can optionally run aube install (or other install commands) as part of the setup.
This action avoids using the GitHub API entirely, which means it does not run into rate limits and does not require any authentication token. Instead of installing aube through npm, it relies on the official prebuilt binaries, so there is no Node-based wrapper involved.
By using native binaries directly, the setup remains fast and predictable. The same approach works consistently across Linux, macOS, and Windows, making it a reliable choice for CI environments where reproducibility and simplicity are important.
The action supports latest, next, and exact versions such as:
version: v1.0.0-beta.10When latest or next is used, the action resolves the actual version by querying npm dist-tags:
npm view @endevco/aube dist-tags --jsonThis allows us to determine the current release version without relying on the GitHub API. By using npm as the source of truth for version tags, the action avoids the need for a GitHub token and eliminates the risk of hitting GitHub API rate limits.
name: CI
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
# Optional but recommended if running JS packages
- uses: actions/setup-node@v6
with:
node-version: 24
- uses: verzly/setup-aube@v1
# Optional: cache dependencies
- name: Cache aube store
uses: actions/cache@v6
with:
path: ~/.aube
key: ${{ runner.os }}-aube-${{ hashFiles('**/aube.lock') }}
restore-keys: |
${{ runner.os }}-aube-
- run: aube install
- run: aube testTo contribute to this project, start by installing the required tools using mise:
mise installThis installs everything defined in mise.toml, including aube and hk.
The action is bundled using:
aube packagewhich generates the compiled output in:
dist/index.js
However, you usually don't need to run this manually. The repository is configured with hk pre-commit hooks. After installing them with:
hk installevery commit will automatically:
- run
aube package - update and stage the
dist/directory
This ensures that the committed build output is always in sync with the source code.
If you are using WSL, make sure to run Git from the same environment where you are developing. Avoid mixing Windows Git with the WSL filesystem (or the other way around), as this can prevent hooks from running correctly.
mise install
hk install
# develop...
git commitBuild and dist/ updates are handled automatically as part of the commit process.
This project would not exist without the creators and contributors of aube. It is open source and released under the GNU Affero General Public License v3.0 (AGPL-3.0).
Copyright (C) 2020—present Zoltán Rózsa & Verzly