-
Notifications
You must be signed in to change notification settings - Fork 26
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
[python/ci] Add CI job to test building wheel from sdist #2506
[python/ci] Add CI job to test building wheel from sdist #2506
Conversation
@jdblischak is this partially duplicating |
I wouldn't describe it as duplication. I would describe it more as preparation for the official building of the PyPI wheels. Differences:
In summary, the goal is to identify any potential problems with building the PyPI wheels when a PR is submitted, and not at release time. |
@jdblischak can we please get this verbatim into the affected YAML file as a block comment?
|
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.
@jdblischak SGTM as long as CI resource consumption on every PR doesn't become excessive ... main issue being macos runners: choices are 5, 5, 5, or enterprise with no "step up" to 10 or 20 say ...
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.
@jdblischak SGTM as long as CI resource consumption on every PR doesn't become excessive ... main issue being macos runners: choices are 5, 5, 5, or enterprise with no "step up" to 10 or 20 say ...
This pipeline does spawn a lot of jobs. Two reasons why I think it avoids being excessive:
If it does start to become excessive, the first macOS job I would drop is the one added in this PR, |
Cool and thanks @jdblischak ! I indeed just looked for |
Issue and/or context:
TileDB-SOMA-Py is built and distributed in many different ways (from source, PyPI wheels, conda binaries). We want to identify any packaging-related problems immediately in the PR that generates them instead of in a nightly build or worse after the release has been made.
Changes:
This PR includes 2 main changes:
The first is rebranding my existing CI pipeline to
python-ci-packaging.yml
. The original name was from my initial PR to test the shared object copying behavior ([python] Do not copylibtiledbsoma.so
intopackage_data
if it already exists #1937, [ci] Add MacOS job to test shared object copying #2220). However, I had already previously expanded the pipeline to test the pure setuptools installation setup (which we use in tiledbsoma-feedstock) ([python] Fix and testsetup.py
flags to external shared objects #2221). With the addition of a 3rd job (below), I wanted to update the CI to better match its purposeThe 1.9.0 release was delayed because the PyPI wheels could not be built ([python/ci] Unbreak PyPI wheel builds #2337, [python/ci] Unbreak wheel builds #2339). While we build wheels in many of the existing CI pipelines, none build the wheel from a source tarball (sdist) as is done in
python-packaging.yml
, so this error wasn't caught until post release. With this new CI job, we will immediately detect if a crucial file is absent from the source tarballNotes for Reviewer:
See the wiki page Debugging wheel‐build issues for more details