-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Bump python minimum version to 3.8 #27483
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
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
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.
Concept ACK
I'm not sure why we're switching to focal instead of bullseye for the qt5
ci, but I don't really have a view either way. Just pointing it out.
The reason is that bullseye does not have a single of the needed packages:
(Also, bullseye will be EOL a year earlier than focal) |
Concept ACK |
fad6c8e
to
fa4d91b
Compare
Unrelated: Looks like there are a few bugs with GCC libstdc++-9:
So I worked around them. |
Also, switch ci_native_qt5 to clang-8 (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. The bugs were that neither clang-8, nor g++-8, would play nicely with GCC libstdc++-9. See bitcoin#27483 (comment)
Also, switch ci_native_qt5 to clang (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
Also, switch ci_native_qt5 to clang (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
Also, switch ci_native_qt5 to clang (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
Also, switch ci_native_qt5 to clang (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
Also, switch ci_native_qt5 to clang (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
Also, switch ci_native_qt5 to g++-9 (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
This bump should not be needed, see discussion starting at bitcoin#27483 (comment)
ACK fac395e |
ACK fac395e This is ok to merge but when I wrote that comment I meant to remove the |
Thanks. I think it is best for you to open a follow-up, unless people want me to push the commit here. |
Lets do that. |
dc14ba0 test: remove modinv python util helper function (Fabian Jahr) Pull request description: Since #27483 was merged the `modinv()` body is just one line calling pythons own implementation of `pow()`. We can just remove the function as it doesn't seem to add any value. Additionally the comment in the function is now outdated and the test is only testing two ways of doing modular inverse but both using python's `pow()` function. ACKs for top commit: theStack: ACK dc14ba0 Tree-SHA512: e8b470c72dc3f9fd53699d0684650517b1ea35ad1d4c01cf9472c80d3e4474c0c72e429c0bd201eb99d204c87eee0d68285e6a388e4c506f30e14b2bff9c1c32
Also, switch ci_native_qt5 to g++-9 (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin#27483 (comment) for the list of bugs.
This bump should not be needed, see discussion starting at bitcoin#27483 (comment)
Also, switch ci_native_qt5 to g++-9 (from g++-8) to work around bugs. This should be fine, because the i686_centos task still checks for g++-8 compatibility. See bitcoin/bitcoin#27483 (comment) for the list of bugs.
This bump should not be needed, see discussion starting at bitcoin/bitcoin#27483 (comment)
fac395e ci: Bump ci/lint/Dockerfile (MarcoFalke) fa6eb65 test: Use python3.8 pow() (MarcoFalke) 88881cf Bump python minimum version to 3.8 (MarcoFalke) Pull request description: There is no pressing reason to drop support for 3.7, however there are several maintenance issues: * There is no supported operating system that ships 3.7 by default. (debian:buster is EOL and unmaintained to the extent that it doesn't run in the CI environment. See bitcoin#27340 (comment)) * Compiling python 3.7 from source is also unsupported on at least macos, according to bitcoin#24017 (comment) * Recent versions of lief require 3.8, see bitcoin#27507 (comment) Fix all maintenance issues by bumping the minimum. ACKs for top commit: RandyMcMillan: ACK fac395e fjahr: ACK fac395e fanquake: ACK fac395e Tree-SHA512: c198decdbbe29d186d73ea3f6549d8a38479383495d14a965a2f9211ce39637b43f13a4c2a5d3bf56e2d468be4bbe49b4ee8e8e19ec69936ff43ddf2b714c712
fac395e ci: Bump ci/lint/Dockerfile (MarcoFalke) fa6eb65 test: Use python3.8 pow() (MarcoFalke) 88881cf Bump python minimum version to 3.8 (MarcoFalke) Pull request description: There is no pressing reason to drop support for 3.7, however there are several maintenance issues: * There is no supported operating system that ships 3.7 by default. (debian:buster is EOL and unmaintained to the extent that it doesn't run in the CI environment. See bitcoin#27340 (comment)) * Compiling python 3.7 from source is also unsupported on at least macos, according to bitcoin#24017 (comment) * Recent versions of lief require 3.8, see bitcoin#27507 (comment) Fix all maintenance issues by bumping the minimum. ACKs for top commit: RandyMcMillan: ACK fac395e fjahr: ACK fac395e fanquake: ACK fac395e Tree-SHA512: c198decdbbe29d186d73ea3f6549d8a38479383495d14a965a2f9211ce39637b43f13a4c2a5d3bf56e2d468be4bbe49b4ee8e8e19ec69936ff43ddf2b714c712
fac395e ci: Bump ci/lint/Dockerfile (MarcoFalke) fa6eb65 test: Use python3.8 pow() (MarcoFalke) 88881cf Bump python minimum version to 3.8 (MarcoFalke) Pull request description: There is no pressing reason to drop support for 3.7, however there are several maintenance issues: * There is no supported operating system that ships 3.7 by default. (debian:buster is EOL and unmaintained to the extent that it doesn't run in the CI environment. See bitcoin#27340 (comment)) * Compiling python 3.7 from source is also unsupported on at least macos, according to bitcoin#24017 (comment) * Recent versions of lief require 3.8, see bitcoin#27507 (comment) Fix all maintenance issues by bumping the minimum. ACKs for top commit: RandyMcMillan: ACK fac395e fjahr: ACK fac395e fanquake: ACK fac395e Tree-SHA512: c198decdbbe29d186d73ea3f6549d8a38479383495d14a965a2f9211ce39637b43f13a4c2a5d3bf56e2d468be4bbe49b4ee8e8e19ec69936ff43ddf2b714c712
backport: bitcoin#23416,bitcoin#18997,bitcoin#18996, partial bitcoin#27483 (TODO cleanup)
Summary: And remove some compatibility code. note that Electrum ABC is currently packaged with 3.9.13 Supported Linux operating systems ([[bitcoin/bitcoin#27483 | core#27483]]): > FreeBSD 12/13 also ships with 3.9 > CentOS-like 8/9 also ships with 3.9 (and 3.11) > OpenSuse Leap also ships with 3.9 (and 3.11) Debian bullseye or newer Ubuntu 21.04 and newer Note that it is relatively easy to install python 3.9 on Ubuntu 20.04 with the package manager: https://tecadmin.net/how-to-install-python-3-9-on-ubuntu-20-04/ Test Plan: `ninja check-functional` Check the doc for `hmac.digest` and `concurrent.futures` to confirm the API is compatible with python 3.9. Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D15373
Summary: And remove some compatibility code. note that Electrum ABC is currently packaged with 3.9.13 Supported Linux operating systems ([[bitcoin/bitcoin#27483 | core#27483]]): > FreeBSD 12/13 also ships with 3.9 > CentOS-like 8/9 also ships with 3.9 (and 3.11) > OpenSuse Leap also ships with 3.9 (and 3.11) Debian bullseye or newer Ubuntu 21.04 and newer Note that it is relatively easy to install python 3.9 on Ubuntu 20.04 with the package manager: https://tecadmin.net/how-to-install-python-3-9-on-ubuntu-20-04/ Test Plan: `ninja check-functional` Check the doc for `hmac.digest` and `concurrent.futures` to confirm the API is compatible with python 3.9. Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D15373
There is no pressing reason to drop support for 3.7, however there are several maintenance issues:
Fix all maintenance issues by bumping the minimum.