Skip to content

fix(release): restore macOS + arm64-windows lanes on soldr 0.7.98 + setup-soldr v0.9.64 - #941

Merged
zackees merged 1 commit into
mainfrom
fix/restore-cross-lanes
Jul 2, 2026
Merged

fix(release): restore macOS + arm64-windows lanes on soldr 0.7.98 + setup-soldr v0.9.64#941
zackees merged 1 commit into
mainfrom
fix/restore-cross-lanes

Conversation

@zackees

Copy link
Copy Markdown
Member

Restores the release lanes dropped during the soldr-version incompatibility window, which is now closed.

The misdiagnosis

The "setup-soldr version --json incompatibility" that pinned fbuild to soldr 0.7.59 and forced the macOS drop was never a JSON-shape change — soldr v0.7.85/v0.7.87 were broken releases that shipped completely silent binaries (zero bytes on stdout for every subcommand), which setup-soldr surfaced as Unexpected end of JSON input. Verified by running the actual published binaries of v0.7.59/0.7.66/0.7.85/0.7.87/0.7.89-0.7.96: the JSON is byte-identical across the working ones. setup-soldr@v0.9.64 (just released) hardens against silent binaries with an actionable error naming the broken releases.

What soldr v0.7.98 brings (all 7 soldr cross lanes verified green upstream)

Changes

  • Pins: soldr 0.7.98 + setup-soldr @v0.9.64 across all workflows, ci/docker-mac-cross/Dockerfile (incl. dead APPLE_SDK_URL default → soldr-toolchain assets URL), docs/RELEASING.md
  • Matrix: restore aarch64-apple-darwin, x86_64-apple-darwin, aarch64-pc-windows-msvc (6 lanes total)
  • ci/publish.py::ARTIFACT_MAP: darwin-arm64 wheel restored (Intel mac + ARM-Windows artifacts ship as GH-release archives)
  • Both expected-wheel-count gates now derive dynamically (PLATFORMS SOT / built-wheel count) — the stale hardcoded 4 failed every release run in the 2.3.22–2.3.24 window even when the PyPI publish itself succeeded
  • Version 2.3.24 → 2.4.0 (pyproject + Cargo.toml + Cargo.lock)

Merging this to main triggers the Autonomous Release for 2.4.0 with the full 6-lane matrix.

🤖 Generated with Claude Code

…etup-soldr v0.9.64
The macOS drop and the aarch64-pc-windows-msvc drop were both fallout
from a soldr-version incompatibility window that is now closed:
* The "setup-soldr version --json incompatibility" that blocked
bumping soldr past v0.7.66 was a misdiagnosis — soldr v0.7.85 and
v0.7.87 were broken releases that shipped silent binaries. The JSON
shape never changed. setup-soldr@v0.9.64 hardens against silent
binaries with an actionable error.
* soldr v0.7.98 carries the Apple SDK URL fix (soldr#992 fallout),
ships soldr-clang-shim in release archives (unblocks ring on
aarch64-pc-windows-msvc), forwards cargo:rustc-env vars through the
wrapper, and provisions managed cmake/ninja. All 7 soldr cross
lanes verified green upstream.
Changes:
* pin soldr 0.7.98 + setup-soldr v0.9.64 across all workflows,
ci/docker-mac-cross, and docs/RELEASING.md
* restore aarch64-apple-darwin + x86_64-apple-darwin release matrix
entries and the darwin ARTIFACT_MAP row in ci/publish.py
* restore the aarch64-pc-windows-msvc lane
* derive the expected-wheel counts dynamically (PLATFORMS SOT /
built-wheel count) — the stale hardcoded 4 failed every release in
the 2.3.22-2.3.24 window even when PyPI publish succeeded
* bump 2.3.24 -> 2.4.0 (pyproject.toml + Cargo.toml + Cargo.lock)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jul 2, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d6c9dc39-4fce-4216-abf4-122a348e03f8

📥 Commits

Reviewing files that changed from the base of the PR and between 686e5d4 and faf2f82.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (18)
  • .github/workflows/acceptance-205.yml
  • .github/workflows/bench-205.yml
  • .github/workflows/check-macos.yml
  • .github/workflows/check-ubuntu.yml
  • .github/workflows/check-windows.yml
  • .github/workflows/docs.yml
  • .github/workflows/dylint.yml
  • .github/workflows/fmt.yml
  • .github/workflows/msrv.yml
  • .github/workflows/release-auto.yml
  • .github/workflows/template_build.yml
  • .github/workflows/template_native_build.yml
  • .github/workflows/update-data.yml
  • Cargo.toml
  • ci/docker-mac-cross/Dockerfile
  • ci/publish.py
  • docs/RELEASING.md
  • pyproject.toml
👮 Files not reviewed due to content moderation or server errors (18)
  • .github/workflows/acceptance-205.yml
  • .github/workflows/check-macos.yml
  • .github/workflows/check-windows.yml
  • .github/workflows/release-auto.yml
  • Cargo.toml
  • .github/workflows/template_native_build.yml
  • .github/workflows/fmt.yml
  • .github/workflows/dylint.yml
  • pyproject.toml
  • ci/docker-mac-cross/Dockerfile
  • .github/workflows/template_build.yml
  • .github/workflows/msrv.yml
  • .github/workflows/update-data.yml
  • .github/workflows/docs.yml
  • ci/publish.py
  • .github/workflows/check-ubuntu.yml
  • .github/workflows/bench-205.yml
  • docs/RELEASING.md

📝 Walkthrough

[!WARNING]

Walkthrough skipped

File diffs could not be summarized.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/restore-cross-lanes

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 f47289a into mainJul 2, 2026
95 of 101 checks passed
zackees added a commit that referenced this pull request Jul 2, 2026
…ntion
rustdoc treated it as an intra-doc link and -D warnings failed the
Documentation workflow (also since #941).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
zackees added a commit that referenced this pull request Jul 2, 2026
#948)
* fix(config): derive Default for BoardConfig (unbreaks workspace check)
PR #941 added probe_rs tests constructing BoardConfig with
..Default::default(), but the struct never derived Default, so
'soldr cargo check/test --all-targets' has failed workspace-wide on
main since (Check ubuntu/macos + Documentation red on every PR). All
fields are String/Option types; the derive is purely additive.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(deploy): drop bracket link syntax on framework-arduino-lpc8xx mention
rustdoc treated it as an intra-doc link and -D warnings failed the
Documentation workflow (also since #941).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@zackees