GitHub Action for installing Luca — the lightweight CLI tool manager — and optionally installing the tools defined in a spec file.
This action is also published on the GitHub Actions Marketplace.
- uses: LucaTools/setup-luca@v1- uses: LucaTools/setup-luca@v1
with:
spec: Lucafile- uses: LucaTools/setup-luca@v1
with:
version: "1.2.3"
spec: LucafileOn GitHub Enterprise the built-in github.token is scoped to your enterprise instance and cannot authenticate against the github.com API. Pass a github.com Personal Access Token to avoid rate limiting:
- uses: LucaTools/setup-luca@v1
with:
spec: Lucafile
github_token: ${{ secrets.GH_COM_TOKEN }}| Input | Description | Required | Default |
|---|---|---|---|
version |
Luca version to install (e.g. "1.2.3"). Omit to use the latest release. |
No | "" (latest) |
spec |
Path to the Luca spec file, relative to the workspace root. Omit to skip tool installation. | No | "" (skip) |
github_token |
GitHub token for authenticating against the github.com API when downloading the Luca CLI. Defaults to the built-in github.token, which works on github.com. On GitHub Enterprise, pass a github.com PAT to avoid API rate limiting. |
No | "" (uses github.token) |
When spec is provided, all tools listed in the spec file are added to PATH and available by name in subsequent steps.
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: LucaTools/setup-luca@v1
with:
spec: Lucafile
- run: swiftlint --version
- run: tuist versionActions follow semantic versioning. A floating major tag (v1, v2, …) is always updated to point to the latest release within that major version. Pinning to a major tag (e.g. @v1) is recommended for most workflows — you will receive non-breaking updates automatically.
To pin to an exact release use the full tag (e.g. @v1.2.3).