forked from rook/rook
Use the latest version of Go in the github actions.
Support for both Go 1.25 and 1.26 is still available,
this only affects the version used by the CI.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 033f6f732e)
67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
name: Unit tests
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
branches:
|
|
- master
|
|
- release-*
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- release-*
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
type: string
|
|
required: false
|
|
description: "Version of jq to install"
|
|
default: "1.7"
|
|
|
|
defaults:
|
|
run:
|
|
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
|
|
shell: bash --noprofile --norc -eo pipefail -x {0}
|
|
|
|
# cancel the in-progress workflow when PR is refreshed.
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
unittests:
|
|
runs-on: ubuntu-22.04
|
|
if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')"
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
|
with:
|
|
go-version: "1.26"
|
|
|
|
- name: Setup jq
|
|
uses: dcarbone/install-jq-action@b7ef57d46ece78760b4019dbc4080a1ba2a40b45 # v3.2.0
|
|
with:
|
|
version: "${{ inputs.version }}"
|
|
|
|
- name: run unit tests
|
|
run: |
|
|
export ROOK_UNIT_JQ_PATH="$(which jq)"
|
|
# AZURE_EXTENSION_DIR is set in GH action runners and affects Azure KMS unit tests; unset it
|
|
unset AZURE_EXTENSION_DIR
|
|
GOPATH=$(go env GOPATH) make -j $(nproc) test | tee output.txt
|
|
|
|
- name: check mds liveness probe script ran successfully
|
|
run: |
|
|
if grep "skipping mds liveness probe script unit tests because jq binary location is not known" output.txt
|
|
then
|
|
echo "jq not found, fail the test"
|
|
exit 1
|
|
fi
|