Skip to content

chore(build): build wheels via soldr PEP 517 backend instead of raw maturin - #8

Merged
zackees merged 1 commit into
mainfrom
chore/build-backend-soldr
Jul 2, 2026
Merged

chore(build): build wheels via soldr PEP 517 backend instead of raw maturin#8
zackees merged 1 commit into
mainfrom
chore/build-backend-soldr

Conversation

@zackees

@zackees zackees commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Two-line [build-system] swap to soldr's PEP 517 backend (requires = ["soldr>=0.7.98"] / build-backend = "soldr"). The [tool.maturin] config is honored byte-identically — soldr's backend drives a pinned maturin with a rustup-pinned toolchain (immune to PATH-shadowing GNU installs), managed cmake/ninja for cmake-based *-sys deps, and rustc caching. Docs: https://github.com/zackees/soldr#use-soldr-as-your-pep-517-build-backend-instead-of-maturin

Part of the org-wide migration (ref zackees/soldr#1264). CI workflows that invoke the maturin CLI directly are intentionally untouched — maturin-as-CLI ignores [build-system].

Validated on a deliberately toolchain-poisoned Windows box: fully-isolated uv pip install . (backend = soldr 0.7.98 from PyPI, manylinux_2_17/win wheels) builds and installs cleanly.

🤖 Generated with Claude Code

…aturin

Two-line [build-system] swap: requires soldr>=0.7.98, build-backend
soldr. The [tool.maturin] config is honored unchanged — soldr's
backend drives a pinned maturin with a rustup-pinned toolchain,
managed cmake/ninja, and rustc caching. Part of the org-wide
migration (zackees/soldr#1264).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@zackees

zackees commented Jul 2, 2026

Copy link
Copy Markdown
Owner Author

CI failure classification — all remaining failures are pre-existing on main

Compared PR run 28590496468 (head 1996747) against main's latest CI run 24317786589. The failing-job sets are identical (8 jobs), and every failure has the same root-cause signature on both runs:

Lane Failure Root cause Main baseline
ubuntu x64 --zig Build maturin failed … Failed to find zig / cannot find binary path zig is not installed on the runner; the --zig maturin CLI lanes never worked identical error, job 70998432339
ubuntu arm64 --zig Build same same identical, job 70998432348
ubuntu x64 --zig Lint ruff format --checkWould reformat: ci/env.py unformatted file on main identical, job 70998432347
ubuntu arm64 --zig Lint same same identical, job 70998432356
macos-15 aarch64 Lint same ci/env.py same identical, job 70998432377
windows x64 Lint same ci\env.py (build + ruff check pass first) same identical, job 70998432330
macos-14 x86_64 Build uv run fails: built x86_64 wheel not compatible with the current Python 3.11 on macOS aarch64 macos-14 runner is arm64; uv run tries to install the cross-arch wheel into the host venv identical, job 70998432383
windows aarch64 Build build_editable fails: host python reports a platform 'win-amd64' … Rust target is 'aarch64' … Couldn't find any python interpreters same cross-arch editable-install limitation (main hits it via maturin.build_editable, this PR via soldr.build_editable → delegated maturin, same terminal error) identical, job 70998432333

Evidence the soldr backend works

  • All Test jobs pass (ubuntu x64/arm64, macos-15 arm64, windows x64) — the package builds and imports through build-backend = "soldr".
  • Build passes on macos-15 aarch64 and windows-2025 x86_64.
  • In the windows x64 Lint lane the backend log shows Built my-project … Installed 1 package before the unrelated ruff-format failure.
  • In the windows arm64 lane, soldr.build_editable fetched maturin v1.14.1, verified the ninja syslib bundle, and reached the exact same maturin cross-interpreter error main reaches — no soldr-specific regression.

No failures are caused by the backend swap; merging over the documented pre-existing failures.

@zackees
zackees merged commit 3797dbe into main Jul 2, 2026
10 of 18 checks passed
@zackees
zackees deleted the chore/build-backend-soldr branch July 2, 2026 13:26
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