mirror of
https://github.com/fleetdm/fleet
synced 2026-05-18 06:28:40 +00:00
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
56 lines
1.5 KiB
YAML
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
|