--- name: Release on: push: tags: - "v*" jobs: release: name: Release runs-on: ubuntu-18.04 steps: - name: Setup Go uses: actions/setup-go@v2 with: go-version: 1.16 - name: Checkout code uses: actions/checkout@v2 - name: Run unit tests run: make tests - name: Setup Kubernetes cluster (KIND) uses: engineerd/setup-kind@v0.5.0 with: version: ${{ env.KIND_VERSION }} image: ${{ env.KIND_IMAGE }} name: kube-bench - name: Test connection to Kubernetes cluster run: | kubectl cluster-info kubectl describe node - name: Apply jobs run: kubectl apply -f job.yaml - name: Run integration tests run: | kubectl wait --for=condition=complete job.batch/kube-bench --timeout=60s kubectl logs job/kube-bench > ./test.data - name: Compare output with expected output uses: GuillaumeFalourd/diff-action@v1 with: first_file_path: ./test.data second_file_path: integration/testdata/Expected_output.data expected_result: PASSED - name: Release uses: goreleaser/goreleaser-action@v2 with: version: v0.169.0 args: release --rm-dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}