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@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0 with: go-version: "1.25" - 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