Skip to content
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

Update minimum supported Python to 3.9 #200

Open
whimboo opened this issue Jun 25, 2024 · 12 comments
Open

Update minimum supported Python to 3.9 #200

whimboo opened this issue Jun 25, 2024 · 12 comments

Comments

@whimboo
Copy link
Contributor

whimboo commented Jun 25, 2024

As of now the minimum supported version of Python for web-platform tests is Python 3.8. Given that this release is supported until October 2024 we should start planning to get rid of it and use at least version 3.9 which gets security updates until October 2025.

Right now such a bump would be blocked at least from Mozilla side because the wpt tests are still running on workers which have Python 3.8 installed. But over the last months newer images have been created with Python 3.10 installed and those are getting slowly rolled out. There is specifically bug 1865353 for web-platform tests.

I'm filing this as issue for now to get feedback from other vendors regarding their requirements and possible blockers. I assume that we want to keep support for all available Python versions or should we even consider bumping the minimum version to 3.10? Feedback is welcome.

CC @jgraham, @foolip, @jcscottiii, @gsnedders, @Ms2ger

@gsnedders
Copy link
Member

I assume that we want to keep support for all available Python versions or should we even consider bumping the minimum version to 3.10?

Both the macOS Ventura and Sonoma aligned Xcode releases, Xcode 14 & 15, ship with Python 3.9 — and WebKit needs to be buildable and testable with them until support for both OSes is dropped.

@jgraham
Copy link
Contributor

jgraham commented Jul 2, 2024

Apparently we need to support 3.8 for as long as Ubuntu does, which is expected to be some time in 2025.

@whimboo
Copy link
Contributor Author

whimboo commented Jul 2, 2024

To extend on what James wrote the Ubuntu 20.04 LTS release is using Python 3.8.2 and will reach its end of life in April 2025.

@foolip
Copy link
Member

foolip commented Jul 5, 2024

@past can you give feedback about this for Chromium?

@past
Copy link
Member

past commented Jul 8, 2024

As far as I can tell Chromium CI is using Python 3.11. @WeizhongX can you confirm?

@WeizhongX
Copy link
Contributor

Unfortunately Chromium CI is using python 3.8.

@WeizhongX
Copy link
Contributor

Update: we are starting to migrate to python 3.11. So this will be fine for us once that is done.

@gsnedders
Copy link
Member

Note we have actually already partially broken Python 3.8: web-platform-tests/wpt@bbf5d49 (from #44005) bumped Sphinx in docs/requirements.txt to 7.2.6, but sphinx-doc/sphinx@ad61e41 dropped support for Python 3.8 in Sphinx 7.2.0.

@whimboo
Copy link
Contributor Author

whimboo commented Nov 4, 2024

Note we have actually already partially broken Python 3.8: web-platform-tests/wpt@bbf5d49 (from #44005) bumped Sphinx in docs/requirements.txt to 7.2.6, but sphinx-doc/sphinx@ad61e41 dropped support for Python 3.8 in Sphinx 7.2.0.

@sadym-chromium given that you landed that related PR would you mind taking a look?

@past
Copy link
Member

past commented Nov 4, 2024

It's surprising that we just noticed breakage introduced 10 months ago. Which job is currently broken and in which CI?

@gsnedders
Copy link
Member

gsnedders commented Nov 4, 2024

@sadym-chromium given that you landed that related PR would you mind taking a look?

web-platform-tests/wpt@274f7b8 has a fix for this (albeit on a much larger PR); I hadn't bothered pulling it out because it is kinda niche, but I probably should when I have a moment.

It's surprising that we just noticed breakage introduced 10 months ago. Which job is currently broken and in which CI?

We basically only run the documentation build on Linux on Python 3.12, then whatever people run it on locally, so it's not super surprising that it went unnoticed.

@nicoburns
Copy link

Both the macOS Ventura and Sonoma aligned Xcode releases, Xcode 14 & 15, ship with Python 3.9 — and WebKit needs to be buildable and testable with them until support for both OSes is dropped.

@gsnedders Couldn't webkit install a newer python version on their build boxes? Is there some reason why they need to run using system Python? Python 3.8 is 5 years old at this point! And trying to get keep old Python versions to work on newer versions of macOS is pretty painful (in particular when using 3rd-party modules which will only support newer OS versions in versions that have dropped support for older Python versions), and is a significant hurdle to onboarding new contributors to Servo.

More generally, I wonder whether WPT would consider (gradually) moving it's tooling away from Python entirely? Python's backwards compatibility guarantees and dependency management are awful and the only reason why we're having this conversation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants