release: fix aarch64-linux + drop macos-13 + idempotent publish#65
Merged
Conversation
… publish
The aborted v0.0.2 release exposed three issues in release.yml:
1. macos-13 runner image has been retired ("macos-13-us-default is not
supported"). Drop the x86_64-apple-darwin entry; Intel Mac users can
install from sdist.
2. For aarch64-unknown-linux-gnu the before-script was running `dnf`
on the Ubuntu host (not inside the manylinux container) and failing
with exit 127. Switch to `apt-get install -y perl libssl-dev` which
works on the host.
3. publish-npm and publish-pypi would double-publish on a re-run after
a partial failure (npm 403s on a duplicate version). Both jobs now
check for the already-published version and skip the publish step
if it exists, so recovery runs are idempotent.
Also adds a `dry_run` workflow_dispatch input that gates publish-pypi,
publish-npm, and finalize so we can exercise the full wheel matrix on
a PR branch without cutting a release. A dedicated cleanup-dry-run job
deletes the staging branch after a successful dry run.
aarch64 dry run failed because ort-sys's build script pulls openssl-sys in transitively (via ureq → native-tls) to download onnxruntime binaries, and the manylinux cross-compile container has no aarch64 openssl. Enable the `vendored` feature on `openssl` for all Linux targets so openssl-sys builds it from source. Adds ~30s to Linux wheel builds but eliminates the need for a target-arch openssl install in the cross container.
PyO3/maturin-action#192 documents the working pattern for openssl in this exact setup: install via the container's native package manager. The aarch64 container (rust-cross/manylinux_2_28-cross) is Debian-based and needs \`apt-get install pkg-config libssl-dev\`; the x86_64 container is AlmaLinux-based and uses \`dnf install openssl-devel perl-IPC-Cmd\`. The previous attempt (vendored openssl) ran into perl module issues inside both containers and was the wrong fix — we're not the first project to ship openssl-dependent wheels via maturin-action.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Recovery of the aborted v0.0.2 patch release exposed three pre-existing issues in
release.yml:build-wheels (macos-13, x86_64-apple-darwin)fails with `The configuration 'macos-13-us-default' is not supported`. This PR drops that matrix entry; Intel Mac users fall back to the sdist.Also in this PR
Test plan