Skip to content

Enable Windows installation and verify the packaged CLI in CI - #47

Merged
dzhng merged 11 commits into
mainfrom
codex/windows-support
Oct 1, 2026
Merged

dzhng merged 11 commits into
mainfrom
codex/windows-support

Conversation

@dzhng

@dzhng dzhng commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Windows users cannot install Jevgrep because the npm package excludes win32. This enables installation, uses Windows profile storage when XDG overrides are absent, launches the Windows npm skill installer correctly, and keeps config/cache storage excluded from retrieval through one shared resolver.

Integrates #31 through #36 with all four contributor commits and authorship preserved. Adds Windows Node 22/24 CI against a freshly packed npm installation, fixes the remaining npm launcher and link fixtures, and prepares version 0.8.0. Closes #5 and supersedes #31/#36.

Review verdict: clean across shape, diff, and docs. Removed redundant CLI storage wrappers and duplicated protected-path arguments; clarified independent XDG overrides and linked Windows release evidence. Discovery fixture timeouts allow constrained runners to finish; result and request-budget assertions remain unchanged.

Validation on the final release commit:

  • Full bun run verify passes: typecheck/lint, 139 Bun tests, 18 Node provider protocol tests, installer regression, 39 parser tests, four release tests, Python evaluation-harness tests, and 41 installed Linux journeys.
  • Windows Node 22 and 24 CI pass, including npm install/launch, profile storage/protection, provider protocol, and installer output/argument/exit-code forwarding.
  • Exact 0.8.0 archive passes package validation and all 11 native macOS installed smoke journeys.
  • Formatting and documentation links pass. Lint retains the existing intentional control-regex warning.

Latest main (#46) is merged. The independent Codex CLI review could not start because its configured model is unsupported by the signed-in account; direct review was completed.

makiisthenes and others added 9 commits October 1, 2026 13:55
Add win32 to the package's os list and adapt three POSIX assumptions so
the CLI runs on Windows:

- Config/cache paths fall back to %APPDATA%\jevgrep and
  %LOCALAPPDATA%\jevgrep on Windows (XDG still wins first).
- O_NOFOLLOW/O_NONBLOCK, undefined on Windows, fall back to 0 in the
  filesystem and cache open() calls.
- jg skill spawns npx through a shell on Windows, where npx is npx.cmd.
Config and cache locations were resolved in three places (auth, the CLI
cache, and the filesystem's protected paths). Move them into one
storageDirectory() helper in @repo/core so protected storage cannot
drift from where jg actually writes.

scripts/package-notices.mjs split resolved paths on "/", which never
matches on Windows, so `bun run build` failed there.
- Cover storageDirectory() on every platform branch.
- Pass the provider preload to --import as a file URL; Node rejects a
  bare C:\ path.
- Keep POSIX-only fixtures (file modes, chmod 0, FIFOs, pty, newline
  filenames) on POSIX. Link-escape checks now use junctions so they also
  run on Windows without symlink privilege.
@dzhng
dzhng marked this pull request as ready for review October 1, 2026 21:10
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@dzhng
dzhng merged commit 679a035 into main Oct 1, 2026
2 checks passed
@dzhng
dzhng deleted the codex/windows-support branch October 2, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Windows support

3 participants