ci: drop Windows runner, add static hardcoded-path detection (#1676)

Replace the Windows CI runner with a static analysis test that catches
the same class of platform-specific path bugs (C:\, /home/, /Users/,
/tmp/) without requiring an actual Windows machine.

- tests/hardcoded-paths.test.cjs: new static scanner that checks string
  literals in all source JS/CJS files for hardcoded platform paths;
  runs on Linux/macOS in <100ms and fires on every PR
- .github/workflows/test.yml: remove windows-latest from matrix; switch
  macOS smoke-test runner from Node 22 → Node 24 (the declared standard)
- package.json: bump engines.node from >=20.0.0 to >=22.0.0 (Node 20
  reached EOL April 2026)

Matrix goes from 4 runners → 3 runners per run:
  ubuntu/22  ubuntu/24  macos/24

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-04-04 14:37:54 -04:00
committed by GitHub
parent 2703422be8
commit a6457a7688
3 changed files with 156 additions and 6 deletions

View File

@@ -36,7 +36,7 @@
"url": "https://github.com/gsd-build/get-shit-done/issues"
},
"engines": {
"node": ">=20.0.0"
"node": ">=22.0.0"
},
"devDependencies": {
"c8": "^11.0.0",