CI never runs on Windows although path and case handling is platform-specific

Open Beginner friendly
#267 0 comments 0 reactions 0 assignees View on GitHub

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
Domain
ci-cd, testing

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

good first issue priority: low tests

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-latest job runs the tests on PRs
  • resolveRequest cases for ..\\..\\x and %5c..%5c on win32

Getting started

  • Relevant files: .github/workflows/ci.yml, site/lib/lib.test.mjs
  • Run the tests: npm test; the full local gate is npm 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TMHSDigital/Free-Game-Dev-Assets

All issues in TMHSDigital/Free-Game-Dev-Assets

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.