-
Notifications
You must be signed in to change notification settings - Fork 584
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
Disable cache: 'pip'
for unreleased Python versions
#319
Comments
Hello @pquentin. Thank you for your report. We'll investigate it deeper. |
The pip cache can be especially useful for testing dev versions, because there are few wheels available and it can be very slow to build stuff from source. Far better to cache after the first time. The ABI can change during the CPython alpha and beta phase. It's also possible during RC, but they aim not to. So we need to make sure the cache isn't reused between say 3.11.0a2 and 3.11.0a3. Onw way would be to include this fully qualified version number in the cache key. Similar to #303 which includes x.y but use the full 3.11.0a3 form. Thoughts? |
@hugovk This would solve our issue and the issue you linked to, sounds good to me! 🎉 |
Another option is to use |
Thank you, looks good! I confirm the cache key includes the Python x.y.z version and also the alpha part:
https://github.com/hugovk/test/runs/5084690004?check_suite_focus=true#step:15:5 3.7 is x.y.z:
https://github.com/hugovk/test/runs/5084690124?check_suite_focus=true#step:15:2 (Aside: I see that latter didn't create its own cache because there's both |
Description:
Disable
cache: 'pip'
for unreleased Python versions (right now, that means only Python 3.11)Justification:
The ABI between Python 3.11 versions is not stable, and in fact recently changed between Python 3.11 alpha 2 and alpha 3. This is why projects don't provide binary wheels for Python 3.11 until the ABI is stabilized. Unfortunately, when enabling pip's cache, this means that wheels cached for Python 3.11 alpha 2 will get used for Python 3.11 alpha 3 and are then likely to break or segfault. This is not a theoretical concern, this broke urllib3's test suite, and likely cryptography's test suite as well. See https://bugs.python.org/issue46320 for more details.
Without this change, our options are disabling pip's cache altogether or stop testing Python 3.11.
Are you willing to submit a PR?
No, sorry.
The text was updated successfully, but these errors were encountered: