|
42 | 42 | contents:read
|
43 | 43 | name:"Python ${{ matrix.python-version }} on ${{ matrix.os }} ${{ matrix.name-suffix }}"
|
44 | 44 | runs-on:${{ matrix.os }}
|
| 45 | +continue-on-error:${{ contains(matrix.name-suffix, 'pre-release') }} |
45 | 46 |
|
46 | 47 | strategy:
|
47 | 48 | fail-fast:false
|
|
88 | 89 | python-version:'3.13'
|
89 | 90 | # https://github.com/matplotlib/matplotlib/issues/29732
|
90 | 91 | pygobject-ver:'<3.52.0'
|
| 92 | + -name-suffix:"(Python 3.14 pre-release)" |
| 93 | +os:ubuntu-24.04 |
| 94 | +python-version:'3.14-dev' |
| 95 | +# no pillow wheel yet, need extra packages to build from source |
| 96 | +extra-packages:>- |
| 97 | + libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev |
| 98 | + libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev |
| 99 | + python3-tk libharfbuzz-dev libfribidi-dev libxcb1-dev |
91 | 100 |
|
92 | 101 | steps:
|
93 | 102 | -uses:actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683# v4.2.2
|
@@ -265,8 +274,10 @@ jobs:
|
265 | 274 | # Even though PySide2 wheels can be installed on Python 3.12+, they are broken and since PySide2 is
|
266 | 275 | # deprecated, they are unlikely to be fixed. For the same deprecation reason, there are no wheels
|
267 | 276 | # 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 |
| 277 | + version_atmost() { |
| 278 | + printf "%s\n" "$1" "$2" | sort --version-sort --check=silent |
| 279 | + } |
| 280 | + if [[ "${{ matrix.os }}" != 'macos-14' ]] && version_atmost "${{ matrix.python-version }}" 3.11.999; then |
270 | 281 | python -mpip install --upgrade pyside2 &&
|
271 | 282 | python -c 'import PySide2.QtCore' &&
|
272 | 283 | echo 'PySide2 is available' ||
|
@@ -333,6 +344,7 @@ jobs:
|
333 | 344 | if:matrix.delete-font-cache
|
334 | 345 |
|
335 | 346 | -name:Run pytest
|
| 347 | +timeout-minutes:90 |
336 | 348 | run:|
|
337 | 349 | if [[ "${{ matrix.python-version }}" == '3.13t' ]]; then
|
338 | 350 | export PYTHON_GIL=0
|
|