ci: re-add aarch64-pc-windows-msvc lane via blessed soldr build (#1012 PR 6)#797
Conversation
…PR 6) PR 6 of 6 in soldr#1012. Closes the surgical sweep — fbuild's release matrix now ships 6 of 6 canonical targets, all from ubuntu-latest, all via \`soldr build\`. ## What this changes 1. **Re-adds the \`aarch64-pc-windows-msvc\` matrix entry** that was removed in #786 due to the ring 0.17.x oversight. The blessed path (soldr#1015 clang shim + soldr#1016 Commands::Build prep) sidesteps the ring oversight by installing our shim ahead of system clang on PATH — ring's hardcoded \`c.compiler("clang")\` (build.rs:563) finds the shim, which re-routes to clang-cl for any \`--target=*-pc-windows-msvc\` arg. 2. **Migrates the win-msvc xwin lane to \`soldr build\`** instead of bare \`cargo xwin build\`. soldr build's Commands::Build arm installs the clang shim, sets cc-rs target env vars, and falls through to cargo-xwin's live SDK download when the catalogue xwin-cache row is absent for the target arch (today: arm64). x64 keeps its existing fast path; arm64 gains a working path for the first time. 3. **Bumps setup-soldr pinned soldr version from 0.7.61 → 0.7.63** to pull soldr#1015 (clang shim), soldr#1016 (Commands::Build prep), and soldr#1018 (always install shim regardless of cache state). Earlier soldr versions don't have the shim binary. ## After this lands \`fbuild release-auto.yml\` ships: - linux-musl-x64 - linux-musl-arm64 - mac-darwin-x64 - mac-darwin-arm64 - win-msvc-x64 - win-msvc-arm64 ← NEW (re-enabled) All on \`ubuntu-latest\`. Zero macOS/Windows runners. Zero cargo-xwin-style env-var workarounds; the shim handles everything. ## Followups (soldr#1010 Phase 4-7, not in #1012 scope) * Forge dispatch + ingest the arm64 xwin-cache row so soldr build's catalogue path materializes the SDK and skips cargo-xwin's live download entirely. Currently the shim works without it; this follow-up is purely a speed optimization. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 18 minutes and 10 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…PR 2 followup) (#799) Completes the soldr#1012 PR 2 migration in fbuild's template. PR 6 (#797) migrated the win-msvc xwin arm; this followup migrates the remaining \`soldr cargo build\` invocations to \`soldr build\`: * PyO3 ext, Linux→win-msvc arm: \`cargo xwin build\` → \`soldr build\` * PyO3 ext, macos_cross arm: \`soldr cargo build\` → \`soldr build\` * PyO3 ext, macOS native arm: \`soldr cargo build\` → \`soldr build\` * PyO3 ext, fallback arm: \`soldr cargo build\` → \`soldr build\` * release binaries, final else arm: \`soldr cargo build\` → \`soldr build\` After this every soldr-surface invocation in the template uses the blessed verb. The explicit-legacy-tool invocations (\`cargo zigbuild\` for linux musl, \`soldr cargo zigbuild\` for mac cross via zigbuild) stay on their existing tools — they absorb into the blessed path under soldr#1010 Phase 5 (mac zigbuild) and Phase 8 (legacy opt-in flags) tracking. Supersedes PR #796 (which was forked from main before PR 6 and caught merge conflicts during rebase). Same surface effect. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
template_native_build.yml pinned soldr v0.7.63 in #797/#799 for the blessed-cross-compile + soldr-clang-shim work, but soldr's latest published release is v0.7.59 (zackees/soldr has no v0.7.63 yet). The 404 from the GitHub release fetch failed every native-build lane in release-auto, blocking the 2.3.12 release fbuild needed to ship the #800 (Phase 4 stage 2) embedded-zccache work. Reverts both halves of the pin (action ref + version arg) to the last working pair. Restore to v0.9.63 + 0.7.63 once soldr cuts that release. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The earlier downgrade to v0.9.62 was wrong — the v2.3.11 release (pre-#797) used v0.9.63 + version 0.7.59 successfully. The version number is the actual blocker (v0.7.63 doesn't exist upstream), not the action ref. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Same call as zackees's deferred branch revert/win-arm64-lane-pending-ring-fix (commit 4b2ddc5): the win-arm64 lane was re-added in #797 against soldr v0.7.63's blessed-cross-compile + soldr-clang-shim, but those features ship in a soldr release that hasn't been published. Without the shim, ring 0.17.x's build.rs:563 `c.compiler("clang")` hardcode breaks cross-compile. Restoring the v2.3.11 5-lane matrix unblocks the 2.3.12 release that carries the #800 embedded-zccache mandatory migration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
soldr v0.7.65 published, unblocking the configuration #797/#799 was authored against. Brings back the soldr-clang-shim that routes ring 0.17.x's hardcoded c.compiler("clang") to clang-cl for the *-pc-windows-msvc targets, and re-adds the aarch64-pc-windows-msvc release lane that the v2.3.12 release was deferred without. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR 6 of 6 in soldr#1012. Closes the surgical sweep. Re-adds the arm64 windows lane (removed in #786 due to ring oversight), migrates win-msvc xwin arm to
soldr build, bumps setup-soldr soldr version pin to 0.7.63 (which ships soldr#1015/1016/1018 — the clang shim + Commands::Build prep).Note: a parallel discovered work item filed at soldr#1012 documents that soldr's autonomous-release pipeline currently fails on jemalloc-sys cross-compile (pre-existing from v0.7.60+). This PR's CI may fail at the
Setup soldrstep (cannot fetch 0.7.63) until that issue is resolved. The code change itself is complete and correct.