name: Test Mock Changes on: push: branches: - main - patch-* - prepare-* pull_request: paths: - '**.go' - '.github/workflows/test-mock-changes.yml' workflow_dispatch: # Manual # This allows a subsequently queued workflow run to interrupt previous runs concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id}} cancel-in-progress: true defaults: run: # fail-fast using bash -eo pipefail. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference shell: bash permissions: contents: read jobs: test-mock-changes: runs-on: ubuntu-latest steps: - name: Harden Runner uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 with: egress-policy: audit - name: Checkout Code uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 with: fetch-depth: 0 - name: Install Go uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 with: go-version-file: 'go.mod' - name: Verify test mock changes run: | make mock for mockfile in $(git ls-files '*_mock.go'); do if [[ $(git diff-files --patch "$mockfile") ]]; then echo "❌ fail: uncommitted changes in ${mockfile}" echo "please run 'make mock' and commit the changes" exit 1 fi done