diff --git a/.github/workflows/check-tests.yaml b/.github/workflows/check-tests.yaml new file mode 100644 index 00000000000..c085f17832e --- /dev/null +++ b/.github/workflows/check-tests.yaml @@ -0,0 +1,41 @@ +name: Check integration tests workflow + +on: [pull_request] + +concurrency: + group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + check-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v34 + with: + files: | + *.nix + go.* + **/*.go + integration_test/ + config-example.yaml + + - uses: DeterminateSystems/nix-installer-action@main + if: steps.changed-files.outputs.any_changed == 'true' + - uses: DeterminateSystems/magic-nix-cache-action@main + if: steps.changed-files.outputs.any_changed == 'true' + + - name: Generate and check integration tests + if: steps.changed-files.outputs.any_changed == 'true' + run: | + nix develop --command bash -c "cd cmd/gh-action-integration-generator/ && go generate" + git diff --exit-code .github/workflows/test-integration.yaml + + - name: Show missing tests + if: failure() + run: | + git diff .github/workflows/test-integration.yaml