-
-
Notifications
You must be signed in to change notification settings - Fork 101
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
Enable universal wheel build on CI #883
Conversation
aio-libs/upload-coverage fails like that. I don't think this is related to my changes but it does mean the changes are still not tested. |
# Split ubuntu job for the sake of speed-up | ||
# Add a pure python build and qemu builds | ||
- os: ubuntu | ||
noextensions: '1' |
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.
This is not the right places to add it. It would essentially run the same wheel creation under each Python version + waste a CI job. It can be done together with the sdist. Although, that should also be updated as it still invokes setup.py
.
I'm doing a round of maintenance updates across the repos, including packaging and CI changes. frozenlist and yarl are updated, multidict is next on my list. So I'll take care of this in a standardized way.
@@ -7,7 +7,7 @@ Changelog | |||
file is managed by towncrier. You *may* edit previous change logs to | |||
fix problems like typo corrections or such. | |||
To add a new change log entry, please see | |||
https://pip.pypa.io/en/latest/development/#adding-a-news-entry | |||
https://pip.pypa.io/en/latest/development/contributing/#news-entries |
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.
This update could be useful as a separate PR.
@@ -0,0 +1 @@ | |||
Enable publishing a universal (pure Python) wheel on PyPI |
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.
The change notes should use the past tense with the end-users as the target audience in mind. They should include full sentences with periods et al.
Also, "universal" is an incorrect term — conventionally, wheels tagged as py2.py3
used to be called universal. But we should only have py3
in the tag.
@@ -1,7 +1,7 @@ | |||
import os | |||
import platform | |||
|
|||
NO_EXTENSIONS = bool(os.environ.get("MULTIDICT_NO_EXTENSIONS")) | |||
NO_EXTENSIONS = os.environ.get("MULTIDICT_NO_EXTENSIONS", "0") == "1" |
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.
This is a semantic change that isn't even mentioned in the changelog. It's undesired at this point. But if we were to change it, this would mean a feature PR, made with more care.
@@ -6,7 +6,7 @@ | |||
|
|||
from setuptools import Extension, setup | |||
|
|||
NO_EXTENSIONS = bool(os.environ.get("MULTIDICT_NO_EXTENSIONS")) | |||
NO_EXTENSIONS = os.environ.get("MULTIDICT_NO_EXTENSIONS", "0") == "1" |
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.
Same as the previous comment. Although, it doesn't matter much now, since I'll align the packaging with frozenlist and yarl soon.
Previously providing values 0 and 1 had the same result: extensions were disabled. Fix this so that MULTIDICT_NO_EXTENSIONS=0 leads to enabled extensions. Signed-off-by: Jussi Kukkonen <[email protected]>
The build system already supports this, the CD job just needs to do one build with MULTIDICT_NO_EXTENSIONS=1 Signed-off-by: Jussi Kukkonen <[email protected]>
Signed-off-by: Jussi Kukkonen <[email protected]>
Signed-off-by: Jussi Kukkonen <[email protected]>
ec77ff3
to
8e244e2
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #883 +/- ##
==========================================
- Coverage 93.65% 93.25% -0.40%
==========================================
Files 5 5
Lines 504 504
==========================================
- Hits 472 470 -2
- Misses 32 34 +2 ☔ View full report in Codecov by Sentry. |
Implemented in 7ba0e72. |
What do these changes do?
Enable building of universal (pure python) build on the CD release pipeline.
Are there changes in behavior for the user?
A universal wheel will be available on PyPI.
Related issue number
Fixes #881
Checklist
CHANGES
folderDetails
The PR has not been tested yet: running the workflow in a fork does not work so I'll have to rely on the test results here in the PR...