Skip to content

Commit 1564c18

Browse files
authored
workflows, requirements: python 3.13 support (bug 1914897) (#1868)
- remove Python 3.8 from CI - add Python 3.13 to CI - upgrade macOS runner - update pinned darwin universal2 binaries - added new pinned universal2 binary (propcache) - upgrade PySide - change selection when running compile requirements - run compile requirements - remove custom PyInstaller bundler (bug 1930980) - upgrade PyInstaller
1 parent 3c9304b commit 1564c18

24 files changed

+5800
-3972
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
os:
3636
- ubuntu-22.04
3737
- ubuntu-24.04
38-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
38+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
3939
exclude:
4040
- os: ubuntu-24.04
4141
python-version: "3.8"

.github/workflows/run-compile-requirements.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@ jobs:
1313
with:
1414
requirements_files: '["base.in dev.in gui-dev.in gui.in linters.in"]'
1515
os: '["ubuntu-latest"]'
16-
python: '["3.8", "3.9", "3.10", "3.11", "3.12"]'
16+
python: '["3.9", "3.10", "3.11", "3.12", "3.13"]'
1717

1818
call-compile-requirements-windows:
1919
uses: ./.github/workflows/compile-requirements.yml
2020
with:
2121
requirements_files: '["base.in dev.in gui-dev.in gui.in linters.in"]'
2222
os: '["windows-latest"]'
23-
python: '["3.9", "3.10", "3.11", "3.12"]'
23+
python: '["3.9", "3.10", "3.11", "3.12", "3.13"]'
2424

2525
call-compile-requirements-macos:
2626
uses: ./.github/workflows/compile-requirements.yml
2727
with:
2828
requirements_files: '["base.in base.universal2.in dev.in gui-dev.in gui.in linters.in"]'
2929
os: '["macos-latest"]'
30-
python: '["3.9", "3.10", "3.11", "3.12"]'
30+
python: '["3.9", "3.10", "3.11", "3.12", "3.13"]'
3131

3232
commit-and-push:
3333
uses: ./.github/workflows/compile-requirements.yml

gui/gui.spec

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# -*- mode: python -*-
22
import sys
33
from PyInstaller.utils.hooks import collect_all, collect_submodules
4-
from mozregression.pyinstaller import BUNDLE_WITH_TK
54

65
IS_MAC = sys.platform == "darwin"
76

@@ -63,7 +62,7 @@ if IS_MAC:
6362
console=False,
6463
target_arch="universal2",
6564
)
66-
app = BUNDLE_WITH_TK(
65+
app = BUNDLE(
6766
exe,
6867
strip=False,
6968
upx=True,

mozregression/pyinstaller.py

Lines changed: 0 additions & 102 deletions
This file was deleted.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ dependencies = [
4646
"requests>=2.21.0",
4747
"taskcluster>=6.0.0",
4848
]
49-
requires-python = ">= 3.8.1"
49+
requires-python = ">= 3.9"
5050
license = {text = "MPL 2.0"}
5151
authors = [
5252
{name = "Mozilla Automation and Tools Team", email = "tools@lists.mozilla.org"}
@@ -57,11 +57,11 @@ classifiers = [
5757
"Environment :: Console",
5858
"Intended Audience :: Developers",
5959
"Operating System :: OS Independent",
60-
"Programming Language :: Python :: 3.8",
6160
"Programming Language :: Python :: 3.9",
6261
"Programming Language :: Python :: 3.10",
6362
"Programming Language :: Python :: 3.11",
6463
"Programming Language :: Python :: 3.12",
64+
"Programming Language :: Python :: 3.13",
6565
"Programming Language :: Python :: 3 :: Only",
6666
]
6767

requirements/base.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
--no-binary pyyaml
2-
PyInstaller==6.9.*
2+
PyInstaller==6.15.*
33
beautifulsoup4>=4.7.1
44
charset-normalizer<3
55
colorama>=0.4.1

requirements/base.universal2.in

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
11
# See https://github.com/pypa/pip/issues/11573.
22

3-
https://files.pythonhosted.org/packages/85/49/68a2da7fef9195b3fcfc27ebb469c06ebc2777546eb8311cdab4fe8c8aca/aiohttp-3.9.5-cp38-cp38-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.8'
4-
https://files.pythonhosted.org/packages/f9/9f/5ee4aaf09c95da6e71c9f0d5578449d5288ad4fdf225124c7b8124c6287a/aiohttp-3.9.5-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
5-
https://files.pythonhosted.org/packages/bb/6b/baa5886a66dc4a9fe60df3fff543ac0cdbac3d18347889f17023b15bdceb/aiohttp-3.9.5-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
6-
https://files.pythonhosted.org/packages/67/f5/aa23d04a1bb57e5f51108a6473964a2618cc83e608e23e3543031aa2bb3a/aiohttp-3.9.5-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
7-
https://files.pythonhosted.org/packages/5e/25/c6bd6cb160a4dc81f83adbc9bdd6758f01932a6c81a3e4ac707746e7855e/aiohttp-3.9.5-cp312-cp312-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
8-
9-
https://files.pythonhosted.org/packages/32/c7/cc0db0d69ee0dbd85fb453650ce86436f15c39a8cde4d2b432fddc77a80e/frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.8'
10-
https://files.pythonhosted.org/packages/d3/fb/6f2a22086065bc16797f77168728f0e59d5b89be76dd184e06b404f1e43b/frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
11-
https://files.pythonhosted.org/packages/7a/35/1328c7b0f780d34f8afc1d87ebdc2bb065a123b24766a0b475f0d67da637/frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
12-
https://files.pythonhosted.org/packages/01/bc/8d33f2d84b9368da83e69e42720cff01c5e199b5a868ba4486189a4d8fa9/frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
13-
https://files.pythonhosted.org/packages/b4/db/4cf37556a735bcdb2582f2c3fa286aefde2322f92d3141e087b8aeb27177/frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
14-
15-
https://files.pythonhosted.org/packages/a2/82/2641816aa81288a2ead7b982e3805ef8bc494619f574b72edf271bc3a8af/multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.8'
16-
https://files.pythonhosted.org/packages/c6/7c/c8f4445389c0bbc5ea85d1e737233c257f314d0f836a6644e097a5ef512f/multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
17-
https://files.pythonhosted.org/packages/b7/36/48097b96135017ed1b806c5ea27b6cdc2ed3a6861c5372b793563206c586/multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
18-
https://files.pythonhosted.org/packages/5f/da/b10ea65b850b54f44a6479177c6987f456bc2d38f8dc73009b78afcf0ede/multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
19-
https://files.pythonhosted.org/packages/90/9c/7fda9c0defa09538c97b1f195394be82a1f53238536f70b32eb5399dfd4e/multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
20-
21-
https://files.pythonhosted.org/packages/8a/0a/5e432118ae570f5dbe9e40f8c8ffc41e1947f39f3643dcd0846e8bb9908d/yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.8'
22-
https://files.pythonhosted.org/packages/34/e7/9d51111429691ffdfb6ce526b2dd2b66fc9d2746df053ecb4062a3969f65/yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
23-
https://files.pythonhosted.org/packages/6c/27/cda5a927df3a894eddfee4efacdd230c2d8486e322fc672194fd651f82c5/yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
24-
https://files.pythonhosted.org/packages/12/65/4c7f3676209a569405c9f0f492df2bc3a387c253f5d906e36944fdd12277/yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
25-
https://files.pythonhosted.org/packages/7b/cd/a921122610dedfed94e494af18e85aae23e93274c00ca464cfc591c8f4fb/yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
26-
27-
https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.8'
28-
https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
29-
https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
30-
https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
31-
https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
32-
33-
https://files.pythonhosted.org/packages/bd/2b/8a22487fc265cb6cb5d61d5f8144c5133d9e6d75e8afd12c63e7acf6d611/glean_sdk-60.3.0-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; sys.platform == 'darwin'
3+
https://files.pythonhosted.org/packages/18/8d/da08099af8db234d1cd43163e6ffc8e9313d0e988cee1901610f2fa5c764/aiohttp-3.12.15-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
4+
https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
5+
https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
6+
https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
7+
https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
8+
9+
https://files.pythonhosted.org/packages/dd/b1/ee59496f51cd244039330015d60f13ce5a54a0f2bd8d79e4a4a375ab7469/frozenlist-1.7.0-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
10+
https://files.pythonhosted.org/packages/af/36/0da0a49409f6b47cc2d060dc8c9040b897b5902a8a4e37d9bc1deb11f680/frozenlist-1.7.0-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
11+
https://files.pythonhosted.org/packages/34/7e/803dde33760128acd393a27eb002f2020ddb8d99d30a44bfbaab31c5f08a/frozenlist-1.7.0-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
12+
https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
13+
https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
14+
15+
https://files.pythonhosted.org/packages/d4/d3/f04c5db316caee9b5b2cbba66270b358c922a959855995bedde87134287c/multidict-6.6.4-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
16+
https://files.pythonhosted.org/packages/eb/6b/86f353088c1358e76fd30b0146947fddecee812703b604ee901e85cd2a80/multidict-6.6.4-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
17+
https://files.pythonhosted.org/packages/6b/7f/90a7f01e2d005d6653c689039977f6856718c75c5579445effb7e60923d1/multidict-6.6.4-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
18+
https://files.pythonhosted.org/packages/05/f6/512ffd8fd8b37fb2680e5ac35d788f1d71bbaf37789d21a820bdc441e565/multidict-6.6.4-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
19+
https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
20+
21+
https://files.pythonhosted.org/packages/01/75/0d37402d208d025afa6b5b8eb80e466d267d3fd1927db8e317d29a94a4cb/yarl-1.20.1-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
22+
https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
23+
https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
24+
https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
25+
https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
26+
27+
https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
28+
https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
29+
https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
30+
https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
31+
https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
32+
33+
https://files.pythonhosted.org/packages/6c/39/8ea9bcfaaff16fd0b0fc901ee522e24c9ec44b4ca0229cfffb8066a06959/propcache-0.3.2-cp39-cp39-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.9'
34+
https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.10'
35+
https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl; sys.platform == 'darwin' and python_version == '3.11'
36+
https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.12'
37+
https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl; sys.platform == 'darwin' and python_version == '3.13'
38+
39+
https://files.pythonhosted.org/packages/68/e6/86689936edbf47a007646e394f3091cbf90fadf9dcf265a52ab355acec36/glean_sdk-65.0.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; sys.platform == 'darwin'
3440

3541
# Pinned on darwin because later versions depend on a package that has no universal2 binary.
3642
jsonschema==4.17.3; sys.platform == 'darwin'

requirements/gui.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
PySide6==6.6.*
1+
PySide6==6.9.*

0 commit comments

Comments
 (0)