-
Notifications
You must be signed in to change notification settings - Fork 28
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
Fix manylinux wheel builds and build them always #119
Conversation
Should fix #113. We can't see if the fix works because wheels are built only for git tags.
I'd like to restructure our travis.yml along the lines of zopefoundation/BTrees#115 to always build wheels (and condition just the twine upload part on git tags), but that's for a separate PR. |
I don't want to merge this without seeing that it actually works. I'm betting on pip being smart enough to honor the wheel version restrictions imposed by auditwheel when I specify both wheel and auditwheel on the command line, but I haven't actually verified that pip does that. |
This also reformats the YAML, for which I apologize, but it was hard to work on it without doing that. It drops dist: xenial which has become the default. It renames matrix: to jobs: because that's the preferres spelling according to Travis CI docs. It adds names to all the special build jobs. It moves regular Linux Python builds outside build matrix, for conciseness (unfortunately this means 3.6 builds are now done twice: once without -fwrapv and once with) It moves docker pull and twine upload out of .manylinux.sh and into .travis.yml. It unifies twine upload calls by supplifying username/password via environment variables. The changes largely mirror those in zopefoundation/BTrees#115.
I though pip was smart, but pip is stupid and it ignores version constraints declared by auditwheel when you upgrade a bunch of packages.
Yeah, the fix wasn't working at all, because pip is much less smart than I thought it might be. Trying an alternative fix. |
Ah, coveralls. I think it's not merging the results from different Python version properly, then it sees that some branches are Python-2-only or Python-3-only and shouts. |
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.
LGTM!
I think we'll have the same uploading problem with macOS 2.7 and 3.5 as BTrees did.
Highlights
Should fix #113.
Details
The diff is messy, for which I apologize. I had to reformat the YAML to understand it.
Drop dist: xenial which has become the default.
Rename matrix: to jobs: because that's the preferred spelling according to Travis CI docs.
Move regular Linux Python builds outside build matrix, for conciseness (unfortunately this means 3.6 builds are now done twice: once without -fwrapv and once with).
Move docker pull and twine upload out of .manylinux.sh and into .travis.yml. (The docker pull mostly because we need to override the install: step and keeping it blank looks bad, and we need to override the step because we can no longer do an exit 0 in before_install because we want to do the twine upload in after_success)
Unify twine upload calls by supplying username/password via environment variables.
The changes largely mirror those in zopefoundation/BTrees#115.