From 7c33f3a645f48bc9d51ba424caf6d40957f637bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 17:30:39 +0300 Subject: [PATCH 1/6] Add Python 3.14b03 to the test matrix With continue-on-error set so failures don't break the build --- .github/workflows/tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 85ace93445b6..3ca0f95513b7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -42,6 +42,7 @@ jobs: contents: read name: "Python ${{ matrix.python-version }} on ${{ matrix.os }} ${{ matrix.name-suffix }}" runs-on: ${{ matrix.os }} + continue-on-error: ${{ contains(matrix.name-suffix, 'pre-release') }} strategy: fail-fast: false @@ -88,6 +89,9 @@ jobs: python-version: '3.13' # https://github.com/matplotlib/matplotlib/issues/29732 pygobject-ver: '<3.52.0' + - name-suffix: "(Python 3.14 pre-release)" + os: ubuntu-24.04 + python-version: '3.14.0-beta.3' steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From cc78df03821ce35082d84b209d8bfb6e5fc051fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 18:00:40 +0300 Subject: [PATCH 2/6] pillow build dependencies --- .github/workflows/tests.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3ca0f95513b7..d665d801eac4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -92,6 +92,11 @@ jobs: - name-suffix: "(Python 3.14 pre-release)" os: ubuntu-24.04 python-version: '3.14.0-beta.3' + # no pillow wheel yet, need extra packages to build from source + extra-packages: >- + libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev + libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev + python3-tk libharfbuzz-dev libfribidi-dev libxcb1-dev steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From eca3558d755e874e919921b35f7ce7d6659d76dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 18:25:53 +0300 Subject: [PATCH 3/6] Don't install PySide2 on 3.14 --- .github/workflows/tests.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d665d801eac4..430533d0f339 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -274,8 +274,10 @@ jobs: # Even though PySide2 wheels can be installed on Python 3.12+, they are broken and since PySide2 is # deprecated, they are unlikely to be fixed. For the same deprecation reason, there are no wheels # on M1 macOS, so don't bother there either. - if [[ "${{ matrix.os }}" != 'macos-14' - && "${{ matrix.python-version }}" != '3.12' && "${{ matrix.python-version }}" != '3.13' ]]; then + version_atmost() { + printf "%s\n" "$1" "$2" | sort --version-sort --check=silent + } + if [[ "${{ matrix.os }}" != 'macos-14' ]] && version_atmost "${{ matrix.python-version }}" 3.11.999; then python -mpip install --upgrade pyside2 && python -c 'import PySide2.QtCore' && echo 'PySide2 is available' || From 93f12da5ea6e5826ab421163532bcb5f025965cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 19:51:52 +0300 Subject: [PATCH 4/6] Time out the pytest run at 60 minutes --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 430533d0f339..ca1b5d8a815f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -344,6 +344,7 @@ jobs: if: matrix.delete-font-cache - name: Run pytest + timeout-minutes: 60 run: | if [[ "${{ matrix.python-version }}" == '3.13t' ]]; then export PYTHON_GIL=0 From 5f390a671678bab9b9de57c09eca785f6132b504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 21:07:33 +0300 Subject: [PATCH 5/6] Use the latest prerelease version Co-authored-by: Oscar Gustafsson --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ca1b5d8a815f..69749d2848d5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -91,7 +91,7 @@ jobs: pygobject-ver: '<3.52.0' - name-suffix: "(Python 3.14 pre-release)" os: ubuntu-24.04 - python-version: '3.14.0-beta.3' + python-version: '3.14.0-dev' # no pillow wheel yet, need extra packages to build from source extra-packages: >- libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev From a796289ae74b4d01807e5653b1970c7f2d8ec94f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 21 Jun 2025 21:26:57 +0300 Subject: [PATCH 6/6] Update .github/workflows/tests.yml Co-authored-by: Oscar Gustafsson --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 69749d2848d5..718f404631f5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -91,7 +91,7 @@ jobs: pygobject-ver: '<3.52.0' - name-suffix: "(Python 3.14 pre-release)" os: ubuntu-24.04 - python-version: '3.14.0-dev' + python-version: '3.14-dev' # no pillow wheel yet, need extra packages to build from source extra-packages: >- libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev