-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add publish and release workflows #47
Conversation
crypto/sha/keccak1600-s390x.S:399: Error: Unrecognized opcode: `cijne'
error occurred: Failed to find tool. Is `i686-linux-gnu-gcc` installed?
@LDeakin I’m not sure if installing OpenSSL is the right move. It might result in symlinking to a version that isn’t guaranteed to be there. It’s unfortunate but I don’t think there’s a version of OpenSSL that can be readily installed in all Linux distributions, is there? |
Yea not sure, I just went with sfackler/rust-openssl#2036 (comment), which seemed popular |
I'm thinking of giving up on i686, also do we need non-musl x86 x86_64 as well? |
warning: zstd-sys@2.0.13+zstd.1.5.6: Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `i686-linux-gnu-gcc` installed?
Doesn‘t mean that it actually produces a usable result. I think there are two possible ways to do this:
I’d much prefer 1., but I don’t know if it’s possible, i.e. if OpenSSL offers a stable ABI.
Ah yeah! I think I need to go over this and check if there are any other platforms we’re missing because I only realized halfway through that I copied the wrong |
OpenSSL issue fixed properly with d4e8bd7 I'll take my hands off this for a bit if you want to have a crack at the remaining platforms. |
I’m good, I’m enjoying my evening. I just saw you working on this and wanted to share the tidbits I knew but hadn’t written down yet. I enabled linux x86_64 rn though haha! I copied it from here and missed the entries they used for PGO builds. We also need to check that the wheels that each job makes is correct, e.g. it’s a bit suspect to me that only that windows i686 build has This workflow also needs quite some more parts like making a GH release and so on, and tying other things together. Finally, we should merge #38 first, I really think there shouldn’t be two different rust crates called “zarrs” in the same build, and we should make sure the stubs end up in the wheels. |
Ignored files are excluded by maturin when packaging
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.
Sorry for all the CI spam tonight @flying-sheep.
The x86_64 wheels work on windows/linux 🚀.
Adding _internal.pyi
to VC with 48ff131 was necessary to get it in the wheels.
Any other blocking TODOs?
@ilan-gold, is PyPi trusted publishing setup?
The And it would try to release to PyPI for every tag, that needs to be fixed as well. |
@LDeakin no I needed the file name of the release-triggering |
@LDeakin adding the stub to VCS makes things harder in other ways: now And where do we want to run ruff from? The only thing I can think of would be to
|
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.
What is up with the submodule?
no clue, it always pops up out of nowhere! |
Needed for pre-commit checks. rustfmt would be missing if the GH runner lagged stable.
1.1 is EOL and manylinux recently dropped support pypa/manylinux#1629
@flying-sheep, is 64cf651 roughly what you had in mind?
Shall we try publish to |
OK let me specify what I want to do:
|
Fixes #46
Based on https://github.com/pydantic/pydantic-core/blob/6472887b3ad3e865e494b46efb66a71e87ceb1cf/.github/workflows/ci.yml#L399-L500
Release flow
Trigger a build
main
Create an actual release on PyPI and GitHub
v1.2.3
orv1.2.4a1
)Alternatives:
Why not release-plz
The way release-plz works is as follows:
main
branchrelease
which creates a GitHub release and a crates.io releaserelease-pr
which creates or updates a Release PR that bumps the versions and appends to a changelogunfortunately a GitHub-only mode (release-plz/release-plz#1144) is not yet implemented, so unless we want to publish to crates.io, we need to implement the
release
command ourselves. Might be easy or not.TODOs
TODO build errors:
linux x86_64/i686:
openssl-sys
(docs). Seems like it wants to vendor it but fails? Maybe we need to install more perl stuff into the build env? (https://github.com/ilan-gold/zarrs-python/actions/runs/11895077573/job/33143798322?pr=47)linux aarch64/armv7/ppc64le/s390x:
snappy-src
. “aarch64-unknown-linux-gnu-g++
: error: unrecognized command line option'-std=c++14'
“ (https://github.com/ilan-gold/zarrs-python/actions/runs/11895077573/job/33143798957?pr=47)Seems to be solved if we use
manylinux_2_28
instead ofmanylinux2014