mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-10 22:27:12 +01:00
CI caught what this machine could not: the hook died with "No module named 'screen_locker'". The package is pip-installed here (editable, pointing at this checkout), so running the script by path found it anyway; a fresh checkout has no install, and `python3 scripts/x.py` puts only `scripts/` on sys.path. `python3 -m scripts.verify_screen_fits` puts the repo root there instead, which is the checkout in CI and here alike -- verified in a throwaway worktree, where the module now resolves to the worktree's own package rather than the installed one. The xvfb re-exec runs the same way, with an explicit cwd so the child does not depend on where the parent was invoked from. pylint had the same blind spot for the same reason: it infers sys.path from the files it is handed, so this script resolved its imports only when a package file happened to be in the same batch -- passing or failing by what else was staged. An init-hook puts the repo root on the path unconditionally. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BsXnTHyuuCUZsqetTaajcF |
||
|---|---|---|
| .. | ||
| check_file_length.py | ||
| check_flutter_coverage.sh | ||
| check_requirements_sync.py | ||
| check_silent_failures.py | ||
| ci_mirror.sh | ||
| fix_2026_07_26_sport.py | ||
| setup_mcp.sh | ||
| verify_lock_popup_safety.py | ||
| verify_screen_fits.py | ||