From e9bc8775cea386ae8f2838eee432d70ad43c7c56 Mon Sep 17 00:00:00 2001 From: hborcher Date: Mon, 1 Jun 2026 16:30:30 -0500 Subject: [PATCH 1/2] ci: support python 3.14 --- tox.ini | 5 ++-- vars/runJenkinsPipeline.groovy | 43 ++++++++++++++++++++++------------ 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/tox.ini b/tox.ini index 5e4ffe836..51d65a8c2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py3{10-13}-{PySide6,cli} +envlist = py3{10-14}-{PySide6,cli} isolated_build = true [tool:pytest] @@ -40,14 +40,15 @@ commands= labels = lint correctness +extras = QT dependency_groups = type-checking -skip_install=True setenv = MYPY_CACHE_DIR = {temp_dir}/.mypy_cache commands = mypy {posargs: -p speedwagon} [testenv:flake8] description = check the code style labels = + lint style dependency_groups = code-style skip_install=True diff --git a/vars/runJenkinsPipeline.groovy b/vars/runJenkinsPipeline.groovy index 07155fb8d..03db1750a 100644 --- a/vars/runJenkinsPipeline.groovy +++ b/vars/runJenkinsPipeline.groovy @@ -711,7 +711,7 @@ def call(){ axes: [ [ name: 'PYTHON_VERSION', - values: ['3.10', '3.11', '3.12', '3.13'] + values: ['3.10', '3.11', '3.12', '3.13', '3.14'] ], [ name: 'OS', @@ -767,12 +767,17 @@ def call(){ 'UV_CACHE_DIR=/tmp/uvcache', "UV_CONFIG_FILE=${createUnixUvConfig()}" ]){ - sh( - label: 'Testing with tox', - script: """uv python install cpython-${entry.PYTHON_VERSION} - uv run --only-group=tox-uv --isolated --frozen tox --installpkg ${findFiles(glob: entry.PACKAGE_TYPE == 'wheel' ? 'dist/*.whl' : 'dist/*.tar.gz')[0].path} -e py${entry.PYTHON_VERSION.replace('.', '')} - """ - ) + sh "uv python install cpython-${entry.PYTHON_VERSION}" + def attempt = 0 + retry(2){ + attempt += 1 + withEnv([(attempt == 1) ? 'UV_OFFLINE=1' : 'UV_OFFLINE=0']){ + sh( + label: "Testing with tox: ${(attempt == 1) ? 'Offline' : 'Online'}", + script: "uv run --only-group=tox-uv --isolated --frozen tox --installpkg ${findFiles(glob: entry.PACKAGE_TYPE == 'wheel' ? 'dist/*.whl' : 'dist/*.tar.gz')[0].path} -e py${entry.PYTHON_VERSION.replace('.', '')}" + ) + } + } } } else { withEnv([ @@ -785,14 +790,22 @@ def call(){ "UV_CONFIG_FILE=${createWindowUVConfig()}" ]){ installMSVCRuntime('c:\\msvc_runtime\\') - bat( - label: 'Testing with tox', - script: """python -m venv venv - .\\venv\\Scripts\\pip install --disable-pip-version-check uv - .\\venv\\Scripts\\uv python install cpython-${entry.PYTHON_VERSION} - .\\venv\\Scripts\\uv run --frozen --only-group=tox-uv --isolated tox --installpkg ${findFiles(glob: entry.PACKAGE_TYPE == 'wheel' ? 'dist/*.whl' : 'dist/*.tar.gz')[0].path} -e py${entry.PYTHON_VERSION.replace('.', '')} - """ - ) + bat """python -m venv venv + .\\venv\\Scripts\\pip install --disable-pip-version-check uv + .\\venv\\Scripts\\uv python install cpython-${entry.PYTHON_VERSION} + """ + def attempt = 0 + retry(2){ + attempt += 1 + withEnv([(attempt == 1) ? 'UV_OFFLINE=1' : 'UV_OFFLINE=0']){ + bat( + label: 'Testing with tox', + script: """ + .\\venv\\Scripts\\uv run --frozen --only-group=tox-uv --isolated tox --installpkg ${findFiles(glob: entry.PACKAGE_TYPE == 'wheel' ? 'dist/*.whl' : 'dist/*.tar.gz')[0].path} -e py${entry.PYTHON_VERSION.replace('.', '')} + """ + ) + } + } } } } From 8f0cd7e3952bbadc9e9adf6cf3cc7d3a45bb5e0d Mon Sep 17 00:00:00 2001 From: hborcher Date: Tue, 2 Jun 2026 08:44:54 -0500 Subject: [PATCH 2/2] ci: support python 3.14t --- tox.ini | 2 +- vars/runJenkinsPipeline.groovy | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 51d65a8c2..96e427d79 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py3{10-14}-{PySide6,cli} +envlist = py3{10-14}-{PySide6,cli},py314t-core isolated_build = true [tool:pytest] diff --git a/vars/runJenkinsPipeline.groovy b/vars/runJenkinsPipeline.groovy index 03db1750a..a12c22b71 100644 --- a/vars/runJenkinsPipeline.groovy +++ b/vars/runJenkinsPipeline.groovy @@ -711,7 +711,7 @@ def call(){ axes: [ [ name: 'PYTHON_VERSION', - values: ['3.10', '3.11', '3.12', '3.13', '3.14'] + values: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.14t'] ], [ name: 'OS',