Skip to content

ci: build abi3 fork wheels and skip unused SDK jobs - #21

Merged
kvlonge merged 1 commit into
mainfrom
ci/fork-release-abi3
Sep 23, 2026
Merged

kvlonge merged 1 commit into
mainfrom
ci/fork-release-abi3

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 22, 2026

Copy link
Copy Markdown

Why

Fork CI took about 48 minutes, mostly waiting on the TypeScript/WASM SDK build, and each fork release built 32 per-interpreter wheels in about 2 hours. The fork ships only the Rust crate and a CPython 3.12+ Python package.

Changes

  • Skip sdk-build and go-sdk outside tobilg/polyglot. Every Rust and Python check still runs.
  • Build one stable-ABI (abi3, CPython 3.12+) wheel per platform through an opt-in abi3 feature. The upstream default build is unchanged.
  • Set requires-python = ">=3.12".
  • Add a build-only release path. It runs on manual dispatch, and on PRs that touch the release workflow or Python package metadata. Publishing still happens only on python-v* tags.
  • Linux and macOS smoke tests assert that the wheel is abi3.

Verification

  • A local python_release build with --features abi3 produced cp312-abi3. The same wheel passed all 321 Python binding tests on CPython 3.12 and 3.14.
  • Paired fresh-process compiles on a downstream project matched the per-version wheel (cold 13.57s vs 13.61s, warm 6.60s vs 6.63s), with byte-identical artifacts in all 12 runs.
  • This PR runs the build-only release workflow on all five platforms.

@kvlonge
kvlonge merged commit 6ecd84f into main Sep 23, 2026
32 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