Elide in CI
Elide provides an official GitHub Action for installing the runtime in your workflows.
Quick Start
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v4This installs the latest nightly build and adds it to the PATH. The binary is cached using the GitHub Actions tool cache so subsequent runs skip the download.
Install a Specific Version
Pin to a version and channel:
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v4
with:
version: 1.0.0
channel: releaseInstallers
The installer input controls how Elide is installed:
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v4
with:
installer: aptarchive (default) -- Downloads a compressed archive (.tgz, .txz, or .zip) from the Elide CDN. Works on all platforms. Cached automatically by the GitHub Actions tool cache so repeated runs are fast.
shell -- Runs the official install script. On Linux and macOS this runs install.sh; on Windows it runs install.ps1. The scripts use GitHub Releases for downloads, which can be faster inside GitHub Actions runners.
apt -- Adds the Elide apt repository and installs via apt-get. Best for Debian and Ubuntu runners where you want system-level package management.
rpm -- Downloads and installs a .rpm package. Uses dnf when available, otherwise falls back to rpm. For RHEL, Fedora, and CentOS runners.
pkg -- Downloads and runs a macOS .pkg installer. For macOS runners.
msi -- Downloads and runs a Windows .msi installer via msiexec. For Windows runners.
If you choose an installer that doesn't match your platform (e.g., apt on macOS), the action warns and falls back to archive.
Outputs
The action provides outputs you can reference in subsequent steps:
- name: "Setup: Elide"
id: elide
uses: elide-dev/setup-elide@v4
- name: "Print version"
run: echo "Elide ${{ steps.elide.outputs.version }} at ${{ steps.elide.outputs.path }}"| Output | Description |
|---|---|
path | Path to the installed Elide binary |
version | Installed version string |
cached | true if served from the tool cache |
installer | The installer method that was used |
All Inputs
| Input | Default | Description |
|---|---|---|
version | latest | Version to install |
channel | nightly | Release channel: nightly, preview, or release |
installer | archive | Installation method |
os | _(auto)_ | Target OS override |
arch | _(auto)_ | Target architecture override |
install_path | _(conventional)_ | Custom install directory |
force | false | Force installation even if Elide is already present |
export_path | true | Add Elide to the PATH |
no_cache | false | Disable the tool cache |
telemetry | true | Enable anonymous error telemetry |
token | ${{ github.token }} | GitHub token for API requests |
Supported Platforms
| Platform | Architectures |
|---|---|
| Linux | amd64, aarch64 |
| macOS | amd64, aarch64 |
| Windows | amd64 |
Caching
The archive installer caches binaries using the GitHub Actions tool cache. Subsequent runs with the same version and architecture skip the download. Set no_cache: true to disable.
Telemetry
The action sends anonymous error reports to help detect failures. No secrets, tokens, or environment data are transmitted. To opt out:
- uses: elide-dev/setup-elide@v4
with:
telemetry: falseExample Workflow
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v4
with:
channel: release
version: latest
- name: "Run"
run: elide run app.js