name: Tests BATS on: push: branches: - master - main paths-ignore: - 'docs/**' - 'website/**' - 'assets/**' - 'backup/**' - '*.md' pull_request: types: [opened, synchronize, ready_for_review, reopened] paths-ignore: - 'docs/**' - 'website/**' - 'assets/**' - 'backup/**' - '*.md' jobs: run-tests: if: github.event.pull_request.draft == false name: BATS test ${{ matrix.test-file }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: test-file: ["1-deploy", "2-deploy-with-more-options", "3-deploy-with-webhook"] steps: - name: Check out code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up env vars run: | echo "GO111MODULE=on" >> $GITHUB_ENV echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "GOPATH=/home/runner/go" >> $GITHUB_ENV - name: Prepare go environment uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5 with: go-version: ${{ env.GO_VERSION }} - name: Ensure Golang runtime dependencies run: make go-dependencies - name: Setup Bats and libs uses: bats-core/bats-action@e412797c46257a2dbf3775f6f6010b33ee6cb99f # 3.0.1 with: support-path: "${{ github.workspace }}/.bats/bats-support" assert-path: "${{ github.workspace }}/.bats/bats-assert" detik-path: "${{ github.workspace }}/.bats/bats-detik" file-path: "${{ github.workspace }}/.bats/bats-file" - name: Kind setup uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0 with: cluster_name: ${{env.KIND_CLUSTER_NAME}} - name: Jenkins Operator - bats tests env: BATS_LIB_PATH: "${{ github.workspace }}/.bats" run: BATS_TEST_PATH=${{matrix.test-file}}.bats make bats-tests