ci: shield-swap-sdk release job, macos-15-intel runners, PyPI trusted publishing - #53
Merged
Merged
Conversation
Pure-Python universal wheel + sdist; the job installs the release's own aleo-sdk wheel (linux-x86_64 artifact) and runs the hermetic suite against it before uploading. Artifact name matches the release job's '*wheels-*' glob, so one tag publishes all three packages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…5-intel The macos-13 label got no runners since GitHub retired the image (2025-12-04), so both macos-x86_64 jobs queued forever. macos-15-intel is GitHub's designated Intel migration path (supported until Fall 2027). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replaces the token-based maturin upload with pypa/gh-action-pypi-publish under OIDC (id-token: write, no PYPI_API_TOKEN). Pending publishers must be unique per (repo, workflow, environment), so each package publishes from its own job/environment: pypi-abi, pypi, pypi-shield-swap. Releases run in dependency order abi -> sdk -> shield-swap, each also gated on all builds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
kpandl
approved these changes
Jul 14, 2026
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.
What
Release-pipeline changes cherry-picked from
feat/shield-swap-sdk(everything before these landed in #49's squash), plus the switch to PyPI trusted publishing:build-shield-swapjob — builds the pure-Pythonshield-swap-sdkuniversal wheel + sdist, installs the release's ownaleo-sdkwheel (linux-x86_64 artifact) and runs the hermetic suite against it, smoke-tests the installed wheel away from the source tree, and uploads asshield-swap-wheels-universal(matches the release artifact globs). Also addsshield-swap-sdk/**to the workflow path filters, giving the package CI coverage.macos-13→macos-15-intel— GitHub retired the macOS 13 image on 2025-12-04, so bothmacos-x86_64jobs queued forever (no runner ever picked them up).macos-15-intelis GitHub's designated Intel migration path (supported until Fall 2027).maturin uploadwithpypa/gh-action-pypi-publishunderid-token: write. NoPYPI_API_TOKENsecret is needed or used. Pending publishers must be unique per (repo, workflow, environment), so each package publishes from its own job/environment, and releases run strictly in order:release-abialeo-contract-abi-generatorpypi-abiabi-wheels-*release-sdkaleo-sdkpypiwheels-*release-shield-swapshield-swap-sdkpypi-shield-swapshield-swap-wheels-*release-sdkneedsrelease-abi;release-shield-swapneedsrelease-sdk(it declaresaleo-sdk>=0.2); all three gate on every build job.skip-existing: truekeeps partial-failure re-runs safe.Prerequisites already configured
Three pending publishers are registered on PyPI matching the table above (owner
ProvableHQ, repopython-sdk, workflowsdk-wheels.yml). The GitHub environments auto-create on first use.Release flow after merge
The tag run builds everything, then publishes abi → sdk → shield-swap. This PR's own CI run doubles as the first live validation of the
macos-15-intelrunners.