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 skip_missing_interpreters issue wheel+sdist building #14
Conversation
@@ -61,15 +62,21 @@ def patch(obj, attr, value): | |||
|
|||
@hookimpl | |||
def tox_package(session, venv): | |||
if hasattr(session, "package"): |
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.
Shouldn't this part still be here?
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.
It is as it's moved to be an elif below the wheel consideration as it looked like session.package
is set if it ever builds the sdist. The key is to imagine a binary package that is generating binary wheels for some interpreters, but otherwise wants an sdist available for platforms they may not have support to build wheels for themselves (i.e. not being able to build for windows or OSX for example). If you get the order wrong in any way where any sdist is built before any of the wheels, then the remaining wheel builds/tests will no longer considering building a wheel even if it explicitly says in the envconfig that it should be building and testing a wheel
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.
Any additional comments or concerns?
…tically setting a base python
… the way the basepython is assumed
supported by all appveyor environments (such as easy_install and pip install --progress-bar=off)
Codecov Report
@@ Coverage Diff @@
## master #14 +/- ##
==========================================
+ Coverage 81.92% 84.76% +2.84%
==========================================
Files 3 3
Lines 177 210 +33
Branches 14 15 +1
==========================================
+ Hits 145 178 +33
Misses 28 28
Partials 4 4
Continue to review full report at Codecov.
|
Sorry for the large number of commits to fix thing. The Appveyor configuration looks like it may have been a bit dated (was getting reports of missing |
Any further comments on this pull request? I'd love to see these bug-fixes added in as I'd prefer to use the official tox-wheel module over a self-patched version to get these features (it's simpler from a long-term maintenance standpoint) |
Could I get some feedback on this please? The issue regarding not properly handling skip_missing_interpreters is currently blocking usage of the public tox-wheel package which I'd much rather do than maintain a fork just for this functionality |
Ooof, I forgot about this. Well it looks fine, can you rebase it? I switched to different CI (travis is dead unfortunately). |
…tically setting a base python
… the way the basepython is assumed
supported by all appveyor environments (such as easy_install and pip install --progress-bar=off)
Alright, I think it's updated, though I think the tox actions are wrong because you don't seem to have a |
Awesome!
…On Tue, Mar 1, 2022 at 3:46 AM Ionel Cristian Mărieș < ***@***.***> wrote:
Merged #14 <#14> into master.
—
Reply to this email directly, view it on GitHub
<#14 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAYCRPM3BFBYZOKBFCCAATTU5X7SDANCNFSM5E3RNXBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
oooof... I just noticed that there wasn't any rebase done, just a merge. Now we have two merges I can't trust damn it :-) |
Oh sorry! I’m a little new to getting GitHub/git to give me the right
result here. What can I do from my side?
…On Tue, Mar 1, 2022 at 3:51 AM Ionel Cristian Mărieș < ***@***.***> wrote:
oooof... I just noticed that there wasn't any rebase done, just a merge.
Now we have two merges I can't trust damn it :-)
—
Reply to this email directly, view it on GitHub
<#14 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAYCRPNDDDYQOISPJN3WKFTU5YAF5ANCNFSM5E3RNXBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Nothing. I need to pay more attention 🤦♂️ |
So I've made this squash right here 487f731 to clean things up. I hope no one noticed the evil stuff I've done to the master branch :-) |
When building both wheels and sdists, the preference to a built sdist if it already exists causes issues when attempting to test the coherency of both wheel and sdist artifacts on multiple interpreters.
This patch handles 2 issues associated with wheel+sdist builds:
skip_missing_interpreters
properly when an interpreter is missing as this is run during the packaging phase and so can be passed environments with untested interpreters, causing a failed build even if skip_missing_interpreters is setTesting
Tested in an environment with the following
tox.ini
both with and without theskip_missing_interpreters
flag (py33 does not exist in this system, but 37,38 and 39 all do):