Bump minimum python version to 3.7 #23270

pull Empact wants to merge 2 commits into bitcoin:master from Empact:2021-10-python-3.7 changing 5 files +6 −6
  1. Empact commented at 10:06 am on October 13, 2021: member
  2. Bump minimum python version to 3.7
    Python 3.6 is set to reach end-of-life in 2021-12-23.
    
    https://docs.python.org/3/whatsnew/3.7.html
    2268713baf
  3. Empact commented at 10:24 am on October 13, 2021: member
    Previously updated in #19504 Python 3.7 EOL is set for 2023-06-27 https://www.python.org/downloads/
  4. laanwj added the label Utils/log/libs on Oct 13, 2021
  5. build: Drop errant commas from python autoconf 90acd9a4d1
  6. DrahtBot commented at 1:55 pm on October 13, 2021: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #23217 ([DO NOT MERGE] ci: Test required resources for native Windows task by hebasto)

    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.

  7. laanwj commented at 2:03 pm on October 13, 2021: member
    Is there any functionality new in 3.7 that we really want to use? If not, I don’t think there’s a good reason to be so eager with this.
  8. fanquake commented at 2:20 am on October 14, 2021: member
    Concept ~0. I agree that unless there’s something really new/shiny to take advantage of in 3.7, there’s no issue as leaving the minimum as 3.6 for now.
  9. laanwj commented at 12:03 pm on October 14, 2021: member
    One reasoning to do this is that the release being EOL makes it harder to test against. But I’m not sure this is the case in practice.
  10. maflcko commented at 12:40 pm on October 14, 2021: member
    python 3.6 is shipped in Bionic, which will itself be shipped until at least 2024
  11. Empact commented at 1:08 pm on October 14, 2021: member

    The motivation is that releases after EOL are no longer maintained, so any bugs or security issues identified after the EOL will be unaddressed. Not sure how to weigh that against the cost of change.

    In my experience there are costs to diverging significantly from the currently-maintained code, e.g. incompatibilities introduced due to EOL versions not being tested against by other libraries.

  12. maflcko commented at 1:15 pm on October 14, 2021: member

    I’d highly doubt that there are any python (security) issues or bugs that affect running the Bitcoin Core tests locally. Also, not all CI tasks use 3.6, so us adding python code that only works on 3.6 shouldn’t be an issue either.

    It might be good to wait until there is at least one specific reason that actually affects us before bumping.

  13. in .cirrus.yml:67 in 90acd9a4d1
    63@@ -64,7 +64,7 @@ task:
    64   name: 'lint [bionic]'
    65   << : *BASE_TEMPLATE
    66   container:
    67-    image: ubuntu:bionic  # For python 3.6, oldest supported version according to doc/dependencies.md
    68+    image: ubuntu:bionic  # For python 3.7, oldest supported version according to doc/dependencies.md
    


    maflcko commented at 1:15 pm on October 14, 2021:
    bionic only ships with 3.6, so this doesn’t work anyway
  14. maflcko changes_requested
  15. maflcko commented at 1:16 pm on October 14, 2021: member
    Doesn’t work in the current state
  16. Empact closed this on Oct 14, 2021

  17. Empact deleted the branch on Oct 14, 2021
  18. in ci/test/00_setup_env_native_nowallet.sh:11 in 90acd9a4d1
     6@@ -7,7 +7,7 @@
     7 export LC_ALL=C.UTF-8
     8 
     9 export CONTAINER_NAME=ci_native_nowallet
    10-export DOCKER_NAME_TAG=ubuntu:18.04  # Use bionic to have one config run the tests in python3.6, see doc/dependencies.md
    11+export DOCKER_NAME_TAG=ubuntu:18.04  # Use bionic to have one config run the tests in python3.7, see doc/dependencies.md
    12 export PACKAGES="python3-zmq clang-7 llvm-7 libc++abi-7-dev libc++-7-dev"  # Use clang-7 to test C++17 compatibility, see doc/dependencies.md
    


    maflcko commented at 1:30 pm on October 3, 2022:
    python3-zmq installs python3 (3.6), which is picked by the functional tests (shebang python3), so this doesn’t actually work
  19. maflcko commented at 1:30 pm on October 3, 2022: member
    This doesn’t work, but #26226 should work
  20. Empact restored the branch on Nov 18, 2022
  21. bitcoin locked this on Nov 18, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-19 03:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me