mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-10 21:07:14 +01:00
Keeps CI green by closing the local↔CI gap that caused this session's red runs: the installed pre-commit hook only checks staged files and the dev env already has every dep, while CI runs `pre-commit run --all-files` and installs a fresh env from requirements.txt. - scripts/check_requirements_sync.py: static hook (pre-commit stage) that AST-scans the package's third-party imports and fails if any isn't declared in requirements.txt — the exact ModuleNotFoundError class that reddened three repos. Fast, runs at commit time. - scripts/ci_mirror.sh: pre-push gate that reproduces both CI workflows — a requirements.txt-only venv (hash-gated, rebuilt only when requirements.txt changes) running `pre-commit run --all-files` + `pytest`. Replaces the old pytest-coverage pre-push hook (subsumed by the clean-venv pytest). A red result blocks the push; `git push --no-verify` overrides. - .ci-mirror-venv/ gitignored; pre-push hook installed. Verified: mirror runs green (747 passed, 100% cov); dep-sync check catches a removed crdt-sync; hash-gate reuses the venv on repeat runs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PMRRVVkeRyrSaaqueMZKG |
||
|---|---|---|
| .. | ||
| check_file_length.py | ||
| check_flutter_coverage.sh | ||
| check_requirements_sync.py | ||
| ci_mirror.sh | ||
| setup_mcp.sh | ||