Skip to content

Commit

Permalink
chore: add ci workflow (#2)
Browse files Browse the repository at this point in the history
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
  • Loading branch information
eddycharly authored Dec 12, 2023
1 parent 3f28d1c commit 623616d
Showing 1 changed file with 218 additions and 0 deletions.
218 changes: 218 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Action

permissions: {}

on:
pull_request:
branches:
- main
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
default:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Install Chainsaw and test presence in path
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: ./
- name: Check install
run: chainsaw version
- name: Check root directory
shell: bash
run: |
if [[ $(git diff --stat) != '' ]]; then
echo 'should be clean'
exit 1
else
exit 0
fi
verify:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Install Chainsaw with cosign verification and test presence in path
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Cosign
uses: sigstore/cosign-installer@9614fae9e5c5eddabb09f90a270fcb487c9f7149 # v3.3.0
- name: Install Chainsaw
uses: ./
with:
verify: true
- name: Check install
run: chainsaw version
- name: Check root directory
shell: bash
run: |
if [[ $(git diff --stat) != '' ]]; then
echo 'should be clean'
exit 1
else
exit 0
fi
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Install Chainsaw and test presence in path from GitHub
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: kyverno/action-install-chainsaw@main
- name: Check install
run: chainsaw version
- name: Check root directory
shell: bash
run: |
if [[ $(git diff --stat) != '' ]]; then
echo 'should be clean'
exit 1
else
exit 0
fi
custom:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Install Chainsaw and test presence in path
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: ./
with:
release: v0.0.3
- name: Check install
run: chainsaw version
- name: Check root directory
shell: bash
run: |
if [[ $(git diff --stat) != '' ]]; then
echo 'should be clean'
exit 1
else
exit 0
fi
wrong_version:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Try to install a wrong version
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: ./
with:
release: honk
continue-on-error: true

custom_dir:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
permissions: {}
name: Install Chainsaw and test presence in path
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: ./
with:
install-dir: "$HOME/.chainsawtest"
- name: Check install
run: chainsaw version
- name: Check install dir
shell: bash
run: |
[[ $(dirname "$(which chainsaw)") == "$HOME/.chainsawtest" ]]
- name: Check root directory
shell: bash
run: |
[[ -z $(git diff --stat) ]]
custom_dir_root:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
permissions: {}
name: Install Chainsaw and test presence in path with custom root dir
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Install Chainsaw
uses: ./
with:
install-dir: /usr/bin
use-sudo: true
- name: Check install
run: chainsaw version
- name: Check install dir
shell: bash
run: |
[[ $(dirname "$(which chainsaw)") == /usr/bin ]]
- name: Check root directory
shell: bash
run: |
[[ -z $(git diff --stat) ]]
main:
permissions: {}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
go_version:
- '1.21'
name: Try to install with go ${{ matrix.go_version }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ matrix.go_version }}
- name: Install Chainsaw
uses: ./
with:
release: main
- name: Check install
run: chainsaw version

required:
needs:
- default
- verify
- release
- custom
- wrong_version
- custom_dir
- custom_dir_root
- main
runs-on: ubuntu-latest
steps:
- run: echo "Required jobs success!"

0 comments on commit 623616d

Please sign in to comment.