- Add generated-output dirs (pkg/generated, internal/crdinstall/manifests, packages/system/*/definitions) and Makefile to the workflow paths: filter so PRs that modify only generated artifacts still trigger the drift check. - Mirror the same paths in the root pre-commit hook's files: regex so manual edits to generated files or changes to the root generate target re-run make generate through pre-commit. - Switch drift detection in the workflow from `git diff --exit-code` to `git status --porcelain` so new untracked files produced by make generate (e.g. generated YAML/Go for a new API type) also fail the job; dump `git diff --color=always` on failure for easier debugging. Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
28 lines
1.1 KiB
YAML
28 lines
1.1 KiB
YAML
repos:
|
|
- repo: local
|
|
hooks:
|
|
- id: run-make-generate-root
|
|
name: Run 'make generate' at repo root
|
|
entry: |
|
|
flock -x .git/pre-commit.lock sh -c '
|
|
echo "Running make generate at repo root"
|
|
make generate || exit $?
|
|
git diff --color=always | cat
|
|
'
|
|
language: system
|
|
files: ^(api/|pkg/apis/|pkg/generated/|internal/crdinstall/manifests/|packages/system/cozystack-controller/definitions/|packages/system/application-definition-crd/definition/|packages/system/backup-controller/definitions/|packages/system/backupstrategy-controller/definitions/|hack/update-codegen\.sh$|hack/boilerplate\.go\.txt$|Makefile$)
|
|
pass_filenames: false
|
|
- id: run-make-generate
|
|
name: Run 'make generate' in all app directories
|
|
entry: |
|
|
flock -x .git/pre-commit.lock sh -c '
|
|
for dir in ./packages/apps/*/ ./packages/extra/*/; do
|
|
if [ -d "$dir" ]; then
|
|
echo "Running make generate in $dir"
|
|
make generate -C "$dir" || exit $?
|
|
fi
|
|
done
|
|
git diff --color=always | cat
|
|
'
|
|
language: system
|
|
files: ^.*$
|