-
Couldn't load subscription status.
- Fork 36
Add a GitHub Actions workflow for automatically publishing releases to PyPI #141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
6f7be65 to
36eb1cf
Compare
taking into account CentOS vs. Debian-based manylinux images. Solution taken from: rust-openssl/rust-openssl#2036 (comment)
85b1b6c to
aabc5fa
Compare
3a4e755 to
ad8dccc
Compare
| sccache: 'true' | ||
| manylinux: auto | ||
| # BEGIN EDITED SECTION # | ||
| # Install OpenSSL development headers into the manylinux docker container |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit confused why we need to install openssl if we're using vendored openssl? In general I'd rather not use vendored openssl where possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that it's not the nicest solution to vendor OpenSSL.
I've gone ahead and reverted the vendoring, and while we do install libssl-dev and pkg-config, the openssl-sys crate continues to fail to find the headers.
And for the life of me I can't get it to find them! So very tempted to vendor here.
.github/workflows/pypi.yaml
Outdated
| - runner: ubuntu-latest | ||
| target: s390x | ||
| - runner: ubuntu-latest | ||
| target: ppc64le |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really want to build wheels for all these targets?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point - I think we can safely drop s390x and ppc64le. I've done that in 6221bab.
I'm not sure whether to keep x86 around - some people may realistically still be using it.
This reverts commit aabc5fa.
To save on CI runner time.
b59ca20 to
5244678
Compare
5244678 to
024b203
Compare
This CI workflow was generated by running
maturin generate-ci github(how handy!). But did require a bit of finagling to satisfy the dependency on OpenSSL (boo!). Specifically, I ran into rust-openssl/rust-openssl#2036 (comment). I also found that I needed to set thevendoredfeature flag on theopenssldependency in order to get building on Linux working.To authorise to PyPI, we ended up using PyPI's Trusted Publishers feature, which the
maturin publishcommand supports out of the box. This involved configuring this repo and workflow name in PyPI, and then removing theenv: MATURIN_PYPI_TOKENline from the generated CI config (solution referenced here).I haven't tested this, but given that the config came from the
maturincommand directly, I have fairly high confidence. After this merges, I'll run the workflow manually on thev0.1.4tag.