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

WIP: Add Python 3.13 support #49503

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 56 additions & 56 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/affected_tests.yml
parameters:
artifactName: 'safari-preview-affected-tests'
Expand All @@ -54,7 +54,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/affected_tests.yml
parameters:
checkoutCommit: 'HEAD^1'
Expand All @@ -75,7 +75,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- script: |
set -eux -o pipefail
Expand All @@ -96,7 +96,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/install_fonts.yml
- template: tools/ci/azure/install_certs.yml
Expand All @@ -118,72 +118,72 @@ jobs:
- template: tools/ci/azure/publish_logs.yml
- template: tools/ci/azure/sysdiagnose.yml

- job: tools_unittest_mac_py38
displayName: 'tools/ unittests: macOS + Python 3.8'
- job: tools_unittest_mac_py310
displayName: 'tools/ unittests: macOS + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
vmImage: 'macOS-14'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/
toxenv: py38
toxenv: py310

- job: tools_unittest_mac_py311
displayName: 'tools/ unittests: macOS + Python 3.12'
- job: tools_unittest_mac_py313
displayName: 'tools/ unittests: macOS + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
vmImage: 'macOS-14'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/
toxenv: py311
toxenv: py313

- job: wptrunner_unittest_mac_py38
displayName: 'tools/wptrunner/ unittests: macOS + Python 3.8'
- job: wptrunner_unittest_mac_py310
displayName: 'tools/wptrunner/ unittests: macOS + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
pool:
vmImage: 'macOS-14'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
toxenv: py38
toxenv: py310

- job: wptrunner_unittest_mac_py311
displayName: 'tools/wptrunner/ unittests: macOS + Python 3.12'
- job: wptrunner_unittest_mac_py313
displayName: 'tools/wptrunner/ unittests: macOS + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
pool:
vmImage: 'macOS-14'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
toxenv: py311
toxenv: py313

- job: wpt_integration_mac_py38
displayName: 'tools/wpt/ tests: macOS + Python 3.8'
- job: wpt_integration_mac_py310
displayName: 'tools/wpt/ tests: macOS + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wpt_integration']
pool:
Expand All @@ -192,18 +192,18 @@ jobs:
# full checkout required
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
- template: tools/ci/azure/install_chrome.yml
- template: tools/ci/azure/install_firefox.yml
- template: tools/ci/azure/update_hosts.yml
- template: tools/ci/azure/update_manifest.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
toxenv: py38
toxenv: py310

- job: wpt_integration_mac_py311
displayName: 'tools/wpt/ tests: macOS + Python 3.12'
- job: wpt_integration_mac_py313
displayName: 'tools/wpt/ tests: macOS + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wpt_integration']
pool:
Expand All @@ -212,18 +212,18 @@ jobs:
# full checkout required
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/install_chrome.yml
- template: tools/ci/azure/install_firefox.yml
- template: tools/ci/azure/update_hosts.yml
- template: tools/ci/azure/update_manifest.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
toxenv: py311
toxenv: py313

- job: tools_unittest_win_py38
displayName: 'tools/ unittests: Windows + Python 3.8'
- job: tools_unittest_win_py310
displayName: 'tools/ unittests: Windows + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
Expand All @@ -233,67 +233,67 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/
toxenv: py38
toxenv: py310

- job: tools_unittest_win_py311
displayName: 'tools/ unittests: Windows + Python 3.12'
- job: tools_unittest_win_py313
displayName: 'tools/ unittests: Windows + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
vmImage: 'windows-2019'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/
toxenv: py311
toxenv: py313

- job: wptrunner_unittest_win_py38
displayName: 'tools/wptrunner/ unittests: Windows + Python 3.8'
- job: wptrunner_unittest_win_py310
displayName: 'tools/wptrunner/ unittests: Windows + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
pool:
vmImage: 'windows-2019'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
toxenv: py38
toxenv: py310

- job: wptrunner_unittest_win_py311
displayName: 'tools/wptrunner/ unittests: Windows + Python 3.12'
- job: wptrunner_unittest_win_py313
displayName: 'tools/wptrunner/ unittests: Windows + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
pool:
vmImage: 'windows-2019'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
toxenv: py311
toxenv: py313

- job: wpt_integration_win_py38
displayName: 'tools/wpt/ tests: Windows + Python 3.8'
- job: wpt_integration_win_py310
displayName: 'tools/wpt/ tests: Windows + Python 3.10'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wpt_integration']
pool:
Expand All @@ -302,7 +302,7 @@ jobs:
# full checkout required
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
versionSpec: '3.10'
# currently just using the outdated Chrome/Firefox on the VM rather than
# figuring out how to install Chrome Dev channel on Windows
# - template: tools/ci/azure/install_chrome.yml
Expand All @@ -312,10 +312,10 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
toxenv: py38
toxenv: py310

- job: wpt_integration_win_py311
displayName: 'tools/wpt/ tests: Windows + Python 3.12'
- job: wpt_integration_win_py313
displayName: 'tools/wpt/ tests: Windows + Python 3.13'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wpt_integration']
pool:
Expand All @@ -324,7 +324,7 @@ jobs:
# full checkout required
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
# currently just using the outdated Chrome/Firefox on the VM rather than
# figuring out how to install Chrome Dev channel on Windows
# - template: tools/ci/azure/install_chrome.yml
Expand All @@ -334,7 +334,7 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
toxenv: py311
toxenv: py313

- job: results_edge_stable
displayName: 'all tests: Edge Stable'
Expand All @@ -350,7 +350,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/system_info.yml
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/install_certs.yml
Expand Down Expand Up @@ -386,7 +386,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/system_info.yml
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/install_certs.yml
Expand Down Expand Up @@ -422,7 +422,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/install_certs.yml
- template: tools/ci/azure/install_edge.yml
Expand Down Expand Up @@ -456,7 +456,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
versionSpec: '3.13'
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/install_certs.yml
- template: tools/ci/azure/color_profile.yml
Expand Down
2 changes: 1 addition & 1 deletion resources/test/tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py38,py39,py310,py311
envlist = py310,py311,py312,py313
skipsdist=True

[testenv]
Expand Down
4 changes: 2 additions & 2 deletions tools/ci/ci_tools_unittest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ WPT_ROOT=$SCRIPT_DIR/../..
cd $WPT_ROOT

run_applicable_tox () {
# instead of just running TOXENV (e.g., py38)
# instead of just running TOXENV (e.g., py310)
# run all environments that start with TOXENV
# (e.g., py38-firefox as well as py38)
# (e.g., py310-firefox as well as py310)
local OLD_TOXENV="$TOXENV"
unset TOXENV
local RUN_ENVS=$(tox -l | grep "^${OLD_TOXENV}\(\-\|\$\)" | tr "\n" ",")
Expand Down
Loading
Loading