Skip to content

ci: re-add aarch64-pc-windows-msvc lane via blessed soldr build (#1012 PR 6)#797

Merged
zackees merged 1 commit into
mainfrom
feat/reenable-win-arm64-via-blessed-path
Jun 28, 2026
Merged

ci: re-add aarch64-pc-windows-msvc lane via blessed soldr build (#1012 PR 6)#797
zackees merged 1 commit into
mainfrom
feat/reenable-win-arm64-via-blessed-path

Conversation

@zackees

@zackees zackees commented Jun 28, 2026

Copy link
Copy Markdown
Member

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 soldr step (cannot fetch 0.7.63) until that issue is resolved. The code change itself is complete and correct.

…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>
@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@zackees, we couldn't start this review because you've reached your PR review rate limit.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 20b9f201-ec0a-4ca7-897c-3ecae95e862d

📥 Commits

Reviewing files that changed from the base of the PR and between 2c84819 and bf7f1fb.

📒 Files selected for processing (2)
  • .github/workflows/release-auto.yml
  • .github/workflows/template_native_build.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/reenable-win-arm64-via-blessed-path

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zackees
zackees merged commit 1b5e217 into main Jun 28, 2026
82 of 91 checks passed
zackees added a commit that referenced this pull request Jun 28, 2026
…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>
zackees added a commit that referenced this pull request Jun 28, 2026
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>
zackees added a commit that referenced this pull request Jun 28, 2026
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>
zackees added a commit that referenced this pull request Jun 29, 2026
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>
zackees added a commit that referenced this pull request Jun 29, 2026
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>
@fastled-project-sync fastled-project-sync Bot moved this to Triage in FastLED Tracker Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant