GitHub action¶
A GitHub action is available to easily install Chainsaw in your workflows.
The GitHub action is available at kyverno/chainsaw/.github/actions/install.
Usage¶
This action currently supports GitHub-provided Linux, macOS and Windows runners (self-hosted runners may not work).
Add the following entry to your Github workflow YAML file:
uses: kyverno/chainsaw/.github/actions/install@<version>
with:
release: v0.0.3 # optional
Example using a pinned version:
jobs:
example:
runs-on: ubuntu-latest
permissions: {}
name: Install Chainsaw
steps:
- name: Install Chainsaw
uses: kyverno/chainsaw/.github/actions/install@<version>
with:
release: v0.0.2
- name: Check install
run: chainsaw version
Example using the default version:
jobs:
example:
runs-on: ubuntu-latest
permissions: {}
name: Install Chainsaw
steps:
- name: Install Chainsaw
uses: kyverno/chainsaw/.github/actions/install@<version>
- name: Check install
run: chainsaw version
Example using cosign verification:
jobs:
example:
runs-on: ubuntu-latest
permissions: {}
name: Install Chainsaw
steps:
- name: Install Cosign
uses: sigstore/cosign-installer@v3.1.1
- name: Install Chainsaw
uses: kyverno/chainsaw/.github/actions/install@<version>
with:
verify: true
- name: Check install
run: chainsaw version
If you want to install Chainsaw from its main version by using go install
under the hood, you can set release
as main
. Once you did that, Chainsaw will be installed via go install
which means that please ensure that go is installed.
Example of installing Chainsaw via go install
:
jobs:
example:
runs-on: ubuntu-latest
permissions: {}
name: Install Chainsaw via go install
steps:
- name: Install go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Install Chainsaw
uses: kyverno/chainsaw/.github/actions/install@<version>
with:
release: main
- name: Check install
run: chainsaw version
Optional Inputs¶
The following optional inputs:
Input | Description |
---|---|
release | chainsaw version to use instead of the default. |
install-dir | directory to place the chainsaw binary into instead of the default ($HOME/.chainsaw ). |
use-sudo | set to true if install-dir location requires sudo privs. Defaults to false. |
verify | set to true to enable cosign verification of the downloaded archive. |