5656 pyside2-ver : ' ==5.15.1' # oldest version with working Py3.9 wheel.
5757 pyside6-ver : ' ==6.0.0'
5858 delete-font-cache : true
59+ no-build-isolation : true
5960 - os : ubuntu-20.04
6061 python-version : 3.9
6162 extra-requirements : ' -r requirements/testing/extra.txt'
7677 # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
7778 pyside6-ver : ' !=6.5.1'
7879 extra-requirements : ' -r requirements/testing/extra.txt'
80+ - os : ubuntu-22.04
81+ python-version : ' 3.12-dev'
82+ pyside6-ver : ' !=6.5.1'
83+ pre : true
84+ no-build-isolation : true
7985 - os : macos-latest
8086 python-version : 3.9
8187 # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
@@ -191,8 +197,10 @@ jobs:
191197 python -m pip install --upgrade pip setuptools wheel
192198
193199 # Install pre-release versions during our weekly upcoming dependency tests.
200+ # Also install for 3.12 to get working NumPy (remove when 1.26 is released)
194201 if [[ "${{ github.event_name == 'schedule' &&
195- matrix.name-suffix != '(Minimum Versions)' }}" = "true" ]]; then
202+ matrix.name-suffix != '(Minimum Versions)' }}" = "true"
203+ || "${{ matrix.pre }}" = "true" ]]; then
196204 PRE="--pre"
197205 fi
198206
@@ -204,7 +212,7 @@ jobs:
204212 ${{ matrix.extra-requirements }}
205213
206214 # Preinstall pybind11 on no-build-isolation builds.
207- if [[ "${{ matrix.name-suffix }}" == '(Minimum Versions) ' ]]; then
215+ if [[ "${{ matrix.no-build-isolation }}" == 'true ' ]]; then
208216 python -m pip install 'pybind11>=2.6'
209217 fi
210218
@@ -232,7 +240,8 @@ jobs:
232240 python -c 'import PyQt5.QtCore' &&
233241 echo 'PyQt5 is available' ||
234242 echo 'PyQt5 is not available'
235- if [[ "${{ runner.os }}" != 'macOS' ]]; then
243+ if [[ "${{ runner.os }}" != 'macOS'
244+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
236245 python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
237246 python -c 'import PySide2.QtCore' &&
238247 echo 'PySide2 is available' ||
@@ -243,18 +252,22 @@ jobs:
243252 python -c 'import PyQt6.QtCore' &&
244253 echo 'PyQt6 is available' ||
245254 echo 'PyQt6 is not available'
255+ fi
256+ if [[ "${{ runner.os }}" != 'macOS'
257+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
246258 python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
247259 python -c 'import PySide6.QtCore' &&
248260 echo 'PySide6 is available' ||
249261 echo 'PySide6 is not available'
250262 fi
251263
252- python -mpip install --upgrade \
253- -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
254- wxPython &&
255- python -c 'import wx' &&
256- echo 'wxPython is available' ||
257- echo 'wxPython is not available'
264+ if [[ "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
265+ python -mpip install --upgrade \
266+ -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
267+ wxPython &&
268+ python -c 'import wx' &&
269+ echo 'wxPython is available' ||
270+ echo 'wxPython is not available'
258271
259272 - name : Install the nightly dependencies
260273 # Only install the nightly dependencies during the scheduled event
@@ -289,7 +302,7 @@ jobs:
289302
290303 cat mplsetup.cfg
291304
292- if [[ "${{ matrix.name-suffix }}" == '(Minimum Versions) ' ]]; then
305+ if [[ "${{ matrix.no-build-isolation }}" == 'true ' ]]; then
293306 # Minimum versions run does not use build isolation so that it
294307 # builds against the pre-installed minver dependencies.
295308 python -m pip install --no-deps --no-build-isolation -ve .
0 commit comments