fleet/.github/workflows/test-mock-changes.yml
Jordan Montgomery ea55149592
Add test to validate mock changes (#35663)
See
https://github.com/fleetdm/fleet/actions/runs/19313106183/job/55238111566?pr=35663
for an example of what this looks like when it fails

See https://github.com/fleetdm/fleet/pull/35655 for why we need this.
Someone was able to check in code that inadvertently broke things for
other developers. This is similar to why we have the existing "DB" tests
that validate you updated the DB Schema file
2025-11-17 13:08:02 -05:00

56 lines
1.5 KiB
YAML

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@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.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