forked from rook/rook
Resolve the shellcheck findings actionlint reports so that
`make lint.workflows` passes:
- quote unquoted variable expansions (SC2086) and command substitutions
(SC2046)
- split `export VAR=$(...)` into a separate assignment and export so a
failing command substitution is not masked by export's exit status
(SC2155)
- double-quote kubectl jsonpath arguments inside `sh -c '...'` loops so
the single quotes no longer break out of the wrapper (SC1083)
- annotate intentional deferred-expansion `sh -c '...'` bodies and the
intentional `for ... in $sockets` word splitting with targeted
`# shellcheck disable` directives (SC2016, SC2086)
- drop unused command-output captures (SC2034), simplify a `\! -z` test
(SC2236) and fix nested same-type quoting (SC2140)
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 826f8944d1)
68 lines
1.9 KiB
YAML
68 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: |
|
|
ROOK_UNIT_JQ_PATH="$(which jq)"
|
|
export ROOK_UNIT_JQ_PATH
|
|
# 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
|