GitHub action¶
A GitHub action is available to easily install Chainsaw in your workflows.
The GitHub action is available at kyverno/action-install-chainsaw or in the marketplace.
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/action-install-chainsaw@v0.1.0
with:
  release: v0.1.0 # optional
Example using a pinned version:
jobs:
  example:
    runs-on: ubuntu-latest
    permissions: {}
    name: Install Chainsaw
    steps:
      - name: Install Chainsaw
        uses: kyverno/action-install-chainsaw@v0.1.0
        with:
          release: v0.0.9
      - 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/action-install-chainsaw@v0.1.0
      - 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/action-install-chainsaw@v0.1.0
        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/action-install-chainsaw@v0.1.0
        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. |