Skip to content

Conversation

Empact
Copy link
Contributor

@Empact Empact commented Oct 13, 2021

Python 3.6 is set to reach end-of-life in 2021-12-23.

https://docs.python.org/3/whatsnew/3.7.html
@Empact
Copy link
Contributor Author

Empact commented Oct 13, 2021

Previously updated in #19504
Python 3.7 EOL is set for 2023-06-27
https://www.python.org/downloads/

@DrahtBot
Copy link
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.

@laanwj
Copy link
Member

laanwj commented Oct 13, 2021

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.

@fanquake
Copy link
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.

@laanwj
Copy link
Member

laanwj commented Oct 14, 2021

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.

@maflcko
Copy link
Member

maflcko commented Oct 14, 2021

python 3.6 is shipped in Bionic, which will itself be shipped until at least 2024

@Empact
Copy link
Contributor Author

Empact commented Oct 14, 2021

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.

@maflcko
Copy link
Member

maflcko commented Oct 14, 2021

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.

@@ -64,7 +64,7 @@ task:
name: 'lint [bionic]'
<< : *BASE_TEMPLATE
container:
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
image: ubuntu:bionic # For python 3.7, oldest supported version according to doc/dependencies.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bionic only ships with 3.6, so this doesn't work anyway

Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't work in the current state

@Empact Empact closed this Oct 14, 2021
@Empact Empact deleted the 2021-10-python-3.7 branch October 14, 2021 13:17
Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't work, but #26226 should work

@@ -7,7 +7,7 @@
export LC_ALL=C.UTF-8

export CONTAINER_NAME=ci_native_nowallet
export DOCKER_NAME_TAG=ubuntu:18.04 # Use bionic to have one config run the tests in python3.6, see doc/dependencies.md
export DOCKER_NAME_TAG=ubuntu:18.04 # Use bionic to have one config run the tests in python3.7, see doc/dependencies.md
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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python3-zmq installs python3 (3.6), which is picked by the functional tests (shebang python3), so this doesn't actually work

@Empact Empact restored the 2021-10-python-3.7 branch November 18, 2022 20:45
@bitcoin bitcoin locked and limited conversation to collaborators Nov 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants