Skip to content

fix(ci): repair the GitHub Packages mirror and SEA smoke reliability - #23

Merged
Mearman merged 2 commits into
mainfrom
fix/mirror-version-mismatch
Sep 13, 2026
Merged

Mearman merged 2 commits into
mainfrom
fix/mirror-version-mismatch

Conversation

@Mearman

@Mearman Mearman commented Sep 13, 2026

Copy link
Copy Markdown
Member

Fixes two failures observed on the post-merge run of #21 (native Windows support), both real, pre-existing bugs unrelated to that PR's own diff:

  • The GitHub Packages mirror never stamped the resolved release version onto package.json before publishing, so it always tried to publish whichever version was committed in source (the 0.0.0 placeholder) — @exadev/cc-peer on GitHub Packages has only ever had 0.0.0 published, and every mirror attempt since has failed with "cannot publish over the previously published versions".
  • The SEA smoke test used a fixed 5-second background window before checking for the startup banner. CcPeer.start() spawns a real subprocess on Windows (WinProcInfo's own powershell.exe) before it ever binds, and a real windows-11-arm runner exceeded that 5-second window. Replaced with a polled wait (up to 20s, matching the headroom already given to the equivalent real-subprocess-spawning tests) that exits immediately on either the startup banner or the process dying, and dumps the captured log on failure.

…mirror

The mirror job rewrote package.json's name and registry for the
GitHub Packages scope but never its version, so pnpm publish always
used whatever version happens to be committed in source (the 0.0.0
placeholder, since semantic-release's own version bump lives only in
the release job's ephemeral working copy and is never committed back
here). Every mirror attempt since the first has failed with "cannot
publish over the previously published versions: 0.0.0". Setting
version from the already-resolved release tag fixes this for good.
CcPeer.start() spawns a real subprocess on Windows (WinProcInfo's own
powershell.exe) before it ever binds its listening socket, and that
spawn's latency is exactly what the test suite's own
REAL_PROCESS_SPAWN_TEST_TIMEOUT_MS headroom exists to accommodate. A
fixed 5-second background window before checking for the startup
banner does not give the packaged binary the same headroom, and a
real windows-11-arm runner exceeded it. Polling up to 20 seconds, and
exiting the moment the banner appears or the process itself exits,
also reports a genuine crash immediately rather than only after the
full wait, and dumps the captured log on failure for diagnosis.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review 🔄 Running since 2026-09-13T08:39:38.037890Z 03ffc0b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Mearman
Mearman merged commit 5e406e5 into main Sep 13, 2026
6 checks passed
@Mearman
Mearman deleted the fix/mirror-version-mismatch branch September 13, 2026 08:59
@exaclaude

exaclaude Bot commented Sep 13, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 1.2.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@exaclaude exaclaude Bot added the released label Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant