ci: add local pre-push gate (ruff + mypy + pytest)
Forgejo Actions is not enabled on the instance, so run the same checks locally before pushing: - scripts/check.sh runs ruff, mypy, and pytest (mirrors the CI workflow). - .githooks/pre-push invokes it; enable per clone with `git config core.hooksPath .githooks`. Bypass with `git push --no-verify`. - Fix the pytest invocation in the CI workflow (and document it): use `python -m pytest` so the repo root is on sys.path, otherwise the test modules fail to `import tests.*`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
49a7756a01
commit
b6e99eed41
4 changed files with 69 additions and 2 deletions
11
.githooks/pre-push
Executable file
11
.githooks/pre-push
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Pre-push gate: run the local CI checks (ruff + mypy + pytest) before allowing
|
||||
# a push. Blocks the push on any failure.
|
||||
#
|
||||
# Enable in a fresh clone with:
|
||||
# git config core.hooksPath .githooks
|
||||
# Bypass a single push with:
|
||||
# git push --no-verify
|
||||
#
|
||||
exec "$(git rev-parse --show-toplevel)/scripts/check.sh"
|
||||
Loading…
Add table
Add a link
Reference in a new issue