Installation
This document describes how to install jactionlint from jactionlint, the fork in jdx/jactionlint.
NOTE
Package managers such as Homebrew (core formula), Chocolatey, Scoop, winget, pacman, Nix, apt and the asdf plugin distribute the original rhysd/actionlint, not this fork. Use one of the methods below to install this fork.
mise
mise is the recommended way to install jactionlint:
mise use -g jactionlint
jactionlint --versionmise use jactionlint without -g adds it to the mise.toml of the current project, so everyone working on the project (and CI, for example with jdx/mise-action) uses the same version. mise upgrade jactionlint updates it.
With mise's default minimum_release_age of 24 hours, mise lock and mise up see a new jactionlint 2.0.x release only after that time has passed.
macOS
Homebrew
This repository provides a Homebrew cask, which is automatically updated on new releases. Tap the repository and install the jactionlint package with --cask option.
brew tap jdx/jactionlint https://github.com/jdx/jactionlint
brew install --cask jdx/jactionlint/jactionlintWARNING
Since the jactionlint executable is unsigned, macOS displays a warning and tries to move it to the Trash. To allow it to run, go to 'Settings -> Privacy & Security' and grant the permission.
Prebuilt binaries
Download an archive file from the releases page for your platform, unarchive it and put the executable file to a directory in $PATH.
Prebuilt binaries are built at each releases by CI for the following OS and arch:
- macOS (x86_64, arm64)
- Linux (i386, x86_64, arm32, arm64)
- Windows (i386, x86_64, arm64)
- FreeBSD (i386, x86_64)
Note that the following targets are not tested since GitHub Actions doesn't support them:
- Linux i386, arm32
- Windows i386
- FreeBSD i386, x86_64
To install these binaries gh command is useful. The following command is an example for x86_64 Linux.
gh release download --repo jdx/jactionlint --pattern '*_linux_amd64.tar.gz' v1.7.12
tar xf jactionlint_1.7.12_linux_amd64.tar.gz
./jactionlint --versionOptionally you can verify the attestation of the downloaded artifact. This is highly recommended in terms of security.
gh attestation verify -R jdx/jactionlint jactionlint_1.7.12_linux_amd64.tar.gzDownload script
To install jactionlint executable with one command, the download script is available. It downloads the latest version of jactionlint (jactionlint.exe on Windows and jactionlint on other OSes) to the current directory automatically. This is a recommended way if you install jactionlint in some shell script.
bash <(curl https://raw.githubusercontent.com/jdx/jactionlint/main/scripts/download-jactionlint.bash)When you need to install specific version of jactionlint, please give the version to the 1st command line argument. The following example installs v1.6.17.
bash <(curl https://raw.githubusercontent.com/jdx/jactionlint/main/scripts/download-jactionlint.bash) 1.6.17This script downloads jactionlint (or jactionlint.exe on Windows) binary to the current working directory. When you need to put the downloaded binary to some other directory, please give the directory path to the 2nd command line argument. The following example installs the latest version to /usr/bin.
bash <(curl https://raw.githubusercontent.com/jdx/jactionlint/main/scripts/download-jactionlint.bash) latest /usr/binFor the usage of jactionlint on GitHub Actions, see the usage document.
Docker image
The image is published to the GitHub Container Registry as ghcr.io/jdx/jactionlint. See the usage document to know how to use it.
Build from source
Recent Go toolchain is necessary to build jactionlint from source. Last two major versions of Go are supported.
# Install the latest stable version
go install github.com/jdx/jactionlint/v2/cmd/jactionlint@latest
# Install the head of the main branch
go install github.com/jdx/jactionlint/v2/cmd/jactionlint@mainChecks | Usage | Configuration | Go API | References