diff --git a/.github/workflows/Invalidations.yml b/.github/workflows/Invalidations.yml new file mode 100644 index 0000000..1a5cbef --- /dev/null +++ b/.github/workflows/Invalidations.yml @@ -0,0 +1,52 @@ +name: Example + +on: + pull_request: + +# defaults: + # run: + # working-directory: ./ci/ + +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: always. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + example: + # Only run on PRs to the default branch. + # In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch + # if: github.base_ref == github.event.repository.default_branch + runs-on: ubuntu-latest + steps: + - uses: julia-actions/setup-julia@v2 + with: + version: '1' + - uses: actions/checkout@v3 + - run: | + import Pkg + p = Pkg.PackageSpec(name = "Example", version = "0.5", uuid = "7876af07-990d-54b4-ab0e-23690620f79a") + Pkg.add(p) + shell: julia {0} + # - uses: julia-actions/julia-invalidations@v1 + - uses: ./ + id: invs_pro + with: + test_script: 'import Example' + package_name: 'Example' + + # - uses: julia-actions/julia-invalidations@v1 + - uses: ./ + id: invs_default + with: + test_script: 'import Example' + package_name: 'Example' + + - name: Report invalidation counts + run: | + echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY + echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY + - name: Check if the PR does increase number of invalidations + if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total + run: exit 1