-
Notifications
You must be signed in to change notification settings - Fork 885
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
use cibuildwheel
to build linux wheels
#2800
Conversation
Thanks, but there seem to be errors with regard to wheel building. The tests need to pass before we merge. |
@shyuep I notice that in the The lint failure is not related to this PR, but is caused by a new ruff version. |
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.
@njzjz Thanks for taking this on! Very excited about this PR. 👍
pyproject.toml
Outdated
[tool.cibuildwheel.macos] | ||
repair-wheel-command = "" |
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 need this section? What's the default for repair-wheel-command
?
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.
Default is below
[tool.cibuildwheel.macos]
repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}"
However, in cmd_line
directory, some binary files link to external dependencies outside the repository, and make the repair command fail.
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 change to
repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} --ignore-missing-dependencies"
--ignore-missing-dependencies
should work for this situation.
.github/workflows/test.yml
Outdated
- uses: pypa/gh-action-pypi-publish@master | ||
with: | ||
user: ${{ secrets.TWINE_USERNAME }} | ||
password: ${{ secrets.TWINE_PASSWORD }} |
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.
Does this offer advantages over running twine upload
manually? I'm wondering if it's worth relying on an external action for sth this simple since it might lock us into waiting for fixes if the action ever breaks.
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.
Ok, twine upload
should also work.
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 have next to 0 experience building Linux wheels but I think this looks good. Let's just take it for a spin and see what happens. :)
Summary
Include a summary of major changes in bullet points:
Checklist
Work-in-progress pull requests are encouraged, but please put [WIP] in the pull request title.
Before a pull request can be merged, the following items must be checked:
mypy path/to/file.py
to type check your code.Note that the CI system will run all the above checks. But it will be much more efficient if you already fix most errors prior to submitting the PR. We highly recommended installing
pre-commit
hooks. Simply Runin the repo's root directory. Afterwards linters will run before every commit and abort if any issues pop up.