Skip to content

chore(release): drop windows-x64 + fix macOS rolldown native binding#137

Merged
firstintent merged 1 commit into
mainfrom
chore/release-fix
May 24, 2026
Merged

chore(release): drop windows-x64 + fix macOS rolldown native binding#137
firstintent merged 1 commit into
mainfrom
chore/release-fix

Conversation

@firstintent
Copy link
Copy Markdown
Owner

Change

  • release.yml matrix: drop windows-x64 (libc::SIGKILL POSIX-only; ccteam is tmux/inotify-based unix product)
  • release.yml: split SPA pre-install step by runner.os — linux npm ci --include=optional, macOS rm -f package-lock.json && npm install --include=optional to force darwin native binding fetch
  • release.yml: drop Package (windows) pwsh step + .zip from upload-artifact glob + .zip from gh release create asset list
  • release notes template: drop "Windows" from prebuilt-binary list + add WSL2 note
  • README + docs/quickstart.md + install.sh comment: "Windows users → WSL2 + linux-x64 binary" (no version number, per README §三 红线)

Diagnosis

v0.6.6 release run #26355340751 failed 3/4 platforms:

  • Windows: rustc cannot resolve libc::SIGKILL on x86_64-pc-windows-msvc target (crates/ccteam-core/src/harness.rs:574/589 POSIX-only)
  • macOS arm64 + x64: rolldown native binding (@rolldown/binding-darwin-*) missing because package-lock.json only resolves @rolldown/binding-linux-x64-gnu (generated on linux dev machine); macOS npm install honors the lockfile and skips darwin optionalDependencies

Local verification

  • cargo fmt --all -- --check clean
  • cargo build --release --bin ccteam succeeds
  • cd crates/ccteam-web/web && rm -f package-lock.json && npm install --include=optional && npm run build succeeds (simulates macOS path on linux; can't directly verify darwin binding fetch, but proves the lockfile-clear + install flow works)
  • cargo test --workspace --locked --no-fail-fast → 1639/1 baseline (only flake = workflow_summary_reflects_agent_spawn_and_done_events, per CLAUDE.md §一)
  • cargo clippy --workspace --all-targets --locked -- -D warnings clean

Re-tag (post-merge)

Per pre-v1.0 + CLAUDE.md §五 #3 (no historical migration), maintainer will:

  1. git push origin :refs/tags/v0.6.6 (delete remote tag)
  2. git tag -d v0.6.6 (delete local tag)
  3. git tag -a v0.6.6 <fixed-HEAD> + push
  4. release.yml retriggers → 3/3 platform PASS → GH Release published → install.sh works

Scope

  • No code change to ccteam-core (Windows gate not needed since Windows is dropped from matrix)
  • No version bump (0.6.6 stays)
  • No baseline change (1639/1)

Diff stat

4 files changed, 39 insertions(+), 30 deletions(-)

v0.6.6 tag pushed but release.yml failed 3/4 platforms:
- windows-x64 ✗ libc::SIGKILL doesn't exist on Windows libc (POSIX-only
  API in crates/ccteam-core/src/harness.rs sigkill_pid/sigterm_pid).
  ccteam architecture is tmux + inotify + POSIX signals at its
  foundation, so Windows is genuinely out of scope. Drop from matrix;
  document WSL2 path in README + quickstart + install.sh. Native
  Windows port = V0.7+ candidate if ever.
- macos-arm64 + macos-x64 ✗ rolldown native binding
  (.darwin-arm64.node / .darwin-universal.node) missing. Root cause:
  package-lock.json was generated on linux and only resolves the
  linux-x64 rolldown binding; macOS `npm install` honored the lockfile
  and skipped the darwin optionalDependencies. Fix: split the SPA
  install step by runner.os — linux keeps `npm ci --include=optional`,
  macOS does `rm -f package-lock.json && npm install --include=optional`
  to force a fresh platform-correct resolution. Both run before
  `cargo build`, so the ccteam-web build.rs (which skips its own
  `npm install` when node_modules/ exists) picks up the right native
  binding.

Post-merge: maintainer deletes v0.6.6 tag remote+local + re-tags fixed
HEAD (pre-v1.0 destructive ops authorized per CLAUDE.md §五 #3).

No version bump, no baseline change (1639/1).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@firstintent firstintent merged commit c6a16ca into main May 24, 2026
1 of 2 checks passed
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.

1 participant