Files
worldmonitor/.husky
Elie Habib feae07411c perf(hooks): smart pre-push skips irrelevant tests based on changed files (#2834)
* perf(hooks): smart pre-push skips irrelevant tests based on changed files

Detects which files changed vs origin/main and only runs matching tests:
- Frontend-only (src/, api/) changes skip the full 152-file test suite
- Resilience changes run only resilience-*.test.* files
- Seed script changes run only matching seed tests
- Config/test file changes still run the full suite

Adds timeout guards (5min full, 2min targeted) to prevent hangs.
Skips markdown/MDX lint when no .md/.mdx files changed.

Reduces push time for frontend changes from ~13min to ~30sec.

* fix(hooks): address Greptile review on smart pre-push

P1: Fixed || true on server tests to || exit 1 so failures block push.

P1: Replaced elif chain with independent if blocks so multiple
changed categories (e.g. server/ + scripts/) all run their tests
instead of only the first match.

P1: Added safety fallback when CHANGED_FILES is empty (git diff
fails in fresh worktrees). Falls back to full test suite instead
of silently skipping all tests.
2026-04-08 21:35:40 +04:00
..