Bug 2014269 - Bump mach minimum Python version to 3.10 r=firefox-build-system-reviewers,mach-reviewers,sergesanspaille,ahal
Differential Revision: https://phabricator.services.mozilla.com/D322845
This commit is contained in:
committed by
ahochheiden@mozilla.com
parent
f1709d5ed1
commit
07d0250f77
@@ -8,7 +8,7 @@ related to the build system, Python is typically the first choice.
|
||||
|
||||
## Python Requirements
|
||||
|
||||
The tree requires Python 3.9 or greater to build.
|
||||
The tree requires Python 3.10 or greater to build.
|
||||
All Python packages not in the Python distribution are included in the
|
||||
source tree. So all you should need is a vanilla Python install and you
|
||||
should be good to go.
|
||||
|
||||
@@ -20,7 +20,7 @@ they are running in the JS shell environment.
|
||||
|
||||
* REQUIREMENTS
|
||||
|
||||
Python 3.9. This is already a standard requirement for building our tree.
|
||||
Python 3.10. This is already a standard requirement for building our tree.
|
||||
|
||||
* RUNNING THE TESTS
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ import subprocess
|
||||
import traceback
|
||||
from textwrap import dedent, fill
|
||||
|
||||
MIN_PYTHON_VERSION = (3, 9)
|
||||
MAX_PYTHON_VERSION_TO_CONSIDER = (3, 12)
|
||||
MIN_PYTHON_VERSION = (3, 10)
|
||||
MAX_PYTHON_VERSION_TO_CONSIDER = (3, 14)
|
||||
|
||||
|
||||
def load_mach(dir_path, mach_path, args):
|
||||
@@ -80,7 +80,7 @@ def try_alternate_python3_executables(args):
|
||||
|
||||
|
||||
def main(args):
|
||||
# Ensure we are running Python 3.9+. We run this check as soon as
|
||||
# Ensure we are running Python 3.10+. We run this check as soon as
|
||||
# possible to avoid a cryptic import/usage error.
|
||||
if sys.version_info < MIN_PYTHON_VERSION:
|
||||
print(
|
||||
|
||||
@@ -48,7 +48,7 @@ Download Python from the [the official website](https://www.python.org/downloads
|
||||
:::{note}
|
||||
To avoid Mach compatibility issues with recent Python releases, it's recommended to install
|
||||
the 2nd-most recent "major version". For example, at time of writing, the current modern Python
|
||||
version is 3.10.1, so a safe version to install would be the most recent 3.9 release.
|
||||
version is 3.14.0, so a safe version to install would be the most recent 3.13 release.
|
||||
:::
|
||||
|
||||
You'll want to download the "Windows installer (64-bit)" associated with the release you've chosen.
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
MINIMUM_MINOR_VERSION = 9
|
||||
MINIMUM_MINOR_VERSION = 10
|
||||
|
||||
major, minor = sys.version_info[:2]
|
||||
if (major < 3) or (major == 3 and minor < MINIMUM_MINOR_VERSION):
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:google-cloud-bigquery==3.41.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:third_party/python/vsdownload
|
||||
pypi-optional:taskcluster-taskgraph==24.1.1:toolchain artifacts will not be bootstrapped
|
||||
vendored:testing/web-platform/tests/tools/third_party/h2/src
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
vendored:third_party/python/pyyaml/lib/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
vendored:testing/web-platform/tests/tools/third_party/h2/src
|
||||
vendored:testing/web-platform/tests/tools/third_party/hpack/src
|
||||
vendored:testing/web-platform/tests/tools/third_party/html5lib
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:devtools/client/aboutdebugging/test
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
# The following are only required by autodoc
|
||||
pth:python/mozpack/test
|
||||
pth:tools/lint/eslint/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9.2
|
||||
requires-python:>=3.10
|
||||
pypi:cryptography==50.0.1
|
||||
vendored:third_party/python/ecdsa
|
||||
vendored:third_party/python/pyasn1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
# Required by mach ide vscode
|
||||
pypi-optional:json5==0.10.0:extended json syntax support disabled
|
||||
pypi-optional:taskcluster-taskgraph==24.1.1:toolchain artifacts will not be bootstrapped
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:ipython==7.34.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:Sphinx==7.1.2
|
||||
pypi:alabaster==0.7.13
|
||||
pypi:codespell==2.4.3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:build
|
||||
pth:config
|
||||
pth:config/mozunit
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:testing/manifest
|
||||
pypi:mozci==2.4.0
|
||||
pypi:python-bugzilla==3.2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
vendored:third_party/python/fluent.syntax
|
||||
vendored:third_party/python/gitignorant
|
||||
vendored:third_party/python/iniparse
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:coverage==5.1
|
||||
pypi:pytest==8.4.2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:coverage==5.1
|
||||
pypi:pytest-asyncio==1.2.0
|
||||
pypi:pytest==8.4.2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:testing/manifest
|
||||
pypi:Flask==2.1.3
|
||||
pypi:Sphinx==7.1.2
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:fluent.runtime==0.4.0
|
||||
vendored:third_party/python/redo
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:fluent.runtime==0.4.0
|
||||
vendored:third_party/python/redo
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:fluent.runtime==0.4.0
|
||||
vendored:third_party/python/redo
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:fluent.runtime==0.4.0
|
||||
vendored:third_party/python/redo
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
requirements-txt:taskcluster/requirements.txt
|
||||
vendored:testing/web-platform/tests/tools/third_party/h2/src
|
||||
vendored:testing/web-platform/tests/tools/third_party/hpack/src
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:Flask==2.1.3
|
||||
pypi:auth0-python==4.4.1
|
||||
pypi:werkzeug==2.3.8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:taskcluster/gecko_taskgraph
|
||||
pypi:psutil==5.9.4
|
||||
requirements-txt:taskcluster/requirements.txt
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:uv==0.8.15
|
||||
vendored:third_party/python/voluptuous
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:pywatchman==2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pth:testing/webcompat
|
||||
pypi:pytest==4.6.6
|
||||
pypi:selenium==3.141.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi:tcfetch==0.5.1
|
||||
pypi:wpt-interop==0.2.3
|
||||
vendored:testing/web-platform/tests/tools/third_party/h2/src
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
requires-python:>=3.9
|
||||
requires-python:>=3.10
|
||||
pypi-optional:PyGObject==3.48.2; sys_platform == 'linux' and python_version < '3.12':aamtests will not be runnable
|
||||
pypi-optional:PyGObject==3.56.3; sys_platform == 'linux' and python_version >= '3.12':aamtests will not be runnable
|
||||
pypi:aioquic==1.2.0
|
||||
|
||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
||||
name = "mozilla-third-party-python-vendor-dir"
|
||||
version = "0.1.0"
|
||||
description = "This file is used to resolve the full list of dependencies that will be vendored."
|
||||
requires-python = ">=3.9"
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
# Pin `aiohttp` here so the version is modern enough for `auth0-python` in `try.txt`.
|
||||
# Needs >=3.13 for Python 3.14 wheels.
|
||||
|
||||
Reference in New Issue
Block a user