Skip to content

Commit b087017

Browse files
jkseppanoscargus
andcommitted
Add Python 3.14b03 to the test matrix
With continue-on-error set so failures don't break the build Co-authored-by: Oscar Gustafsson <oscar.gustafsson@gmail.com>
1 parent d05b43d commit b087017

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

.github/workflows/tests.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
contents: read
4343
name: "Python ${{ matrix.python-version }} on ${{ matrix.os }} ${{ matrix.name-suffix }}"
4444
runs-on: ${{ matrix.os }}
45+
continue-on-error: ${{ contains(matrix.name-suffix, 'pre-release') }}
4546

4647
strategy:
4748
fail-fast: false
@@ -88,6 +89,9 @@ jobs:
8889
python-version: '3.13'
8990
# https://github.com/matplotlib/matplotlib/issues/29732
9091
pygobject-ver: '<3.52.0'
92+
- name-suffix: "(Python 3.14 pre-release)"
93+
os: ubuntu-24.04
94+
python-version: '3.14-dev'
9195

9296
steps:
9397
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -226,6 +230,12 @@ jobs:
226230
PRE="--pre"
227231
fi
228232
233+
# On pre-release builds, use nightly wheels
234+
if ${{ contains(matrix.name-suffix, 'pre-release') }}; then
235+
PRE="--pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
236+
PRE+=" --prefer-binary"
237+
fi
238+
229239
# Install dependencies from PyPI.
230240
# Preinstall build requirements to enable no-build-isolation builds.
231241
python -m pip install --upgrade $PRE \
@@ -265,8 +275,10 @@ jobs:
265275
# Even though PySide2 wheels can be installed on Python 3.12+, they are broken and since PySide2 is
266276
# deprecated, they are unlikely to be fixed. For the same deprecation reason, there are no wheels
267277
# on M1 macOS, so don't bother there either.
268-
if [[ "${{ matrix.os }}" != 'macos-14'
269-
&& "${{ matrix.python-version }}" != '3.12' && "${{ matrix.python-version }}" != '3.13' ]]; then
278+
version_atmost() {
279+
printf "%s\n" "$1" "$2" | sort --version-sort --check=silent
280+
}
281+
if [[ "${{ matrix.os }}" != 'macos-14' ]] && version_atmost "${{ matrix.python-version }}" 3.11.999; then
270282
python -mpip install --upgrade pyside2 &&
271283
python -c 'import PySide2.QtCore' &&
272284
echo 'PySide2 is available' ||
@@ -333,6 +345,7 @@ jobs:
333345
if: matrix.delete-font-cache
334346

335347
- name: Run pytest
348+
timeout-minutes: 90
336349
run: |
337350
if [[ "${{ matrix.python-version }}" == '3.13t' ]]; then
338351
export PYTHON_GIL=0

0 commit comments

Comments
 (0)