mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-11 19:13:55 +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
28 lines
520 B
Plaintext
28 lines
520 B
Plaintext
__pycache__/
|
|
*.py[cod]
|
|
.Python
|
|
build/
|
|
dist/
|
|
*.egg-info/
|
|
.env
|
|
.venv/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
.coverage
|
|
coverage.lcov
|
|
htmlcov/
|
|
*.log
|
|
.DS_Store
|
|
|
|
# Runtime state files — personal workout/health data, never public.
|
|
screen_locker/workout_log.json
|
|
screen_locker/sick_history.json
|
|
screen_locker/extra_benefits_state.json
|
|
screen_locker/scheduled_skips.json
|
|
screen_locker/shutdown_base.json
|
|
screen_locker/early_bird_pending.json
|
|
|
|
# ci_mirror.sh cached requirements.txt venv (rebuilt on demand)
|
|
.ci-mirror-venv/
|