CI never runs on Windows although path and case handling is platform-specific
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, javascript, node.js
Research direction
Read .github/workflows/ci.yml and site/lib/lib.test.mjs, then inspect how the existing CI jobs run npm test. Add a windows-latest job that runs tests on pull requests and cover resolveRequest with the ..\\..\\x and %5c..%5c cases on win32. Done when the Windows job runs those tests successfully on pull requests.
Written by the indexing model from the issue text.
Description
Summary
Both CI jobs use ubuntu-latest, but the code has about 28 places handling path.sep, backslashes or realpathSync.native, plus case-insensitive filesystem logic, and contributors work on Windows.
Where
.github/workflows/ci.yml:17,:56- examples:
site/build.mjs:290,site/validate.mjs:126,site/serve.mjs:48,:54,site/lib/links.mjs(caseMismatch)
Impact
A separator or case regression in containment checks such as resolveRequest passes CI and only breaks local Windows runs.
Suggested fix
Add a windows-latest job running npm test (about 8 s), or the full npm run check with fetch-depth: 0.
Acceptance criteria
-
windows-latestjob runs the tests on PRs -
resolveRequestcases for..\\..\\xand%5c..%5con win32
Getting started
- Relevant files:
.github/workflows/ci.yml,site/lib/lib.test.mjs - Run the tests:
npm test; the full local gate isnpm run check(Node 22+, no install step) - Related docs:
CONTRIBUTING.md,site/README.md
Related: #139
Filed by repo-audit/full-audit at 4adb944. Severity: low. Effort: S. audit-key: testing|.github/workflows/ci.yml|windows
- Dominant language
- JavaScript
- Stars
- 58
- Forks
- 15
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 12
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TMHSDigital/Free-Game-Dev-Assets
-
enhancement good first issue priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TMHSDigital/Free-Game-Dev-Assets#272 ·
Maintainers usually reply within 1 day
-
documentation good first issue priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TMHSDigital/Free-Game-Dev-Assets#270 ·
Maintainers usually reply within 1 day
-
documentation priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TMHSDigital/Free-Game-Dev-Assets#269 ·
Maintainers usually reply within 1 day
-
good first issue priority: low tests
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
TMHSDigital/Free-Game-Dev-Assets#266 ·
Maintainers usually reply within 1 day
-
priority: low tests
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TMHSDigital/Free-Game-Dev-Assets#265 ·
Maintainers usually reply within 1 day
All issues in TMHSDigital/Free-Game-Dev-Assets
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
guybedford/es-module-lexer#266 ·
-
bug documentation
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
apify/apify-docs#3206 ·
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
anhnt256/cursor-swarm#21 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
zerohourzulu/irontrellis#16 ·