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
@@ -236,7 +244,8 @@ jobs:
236244 python -c 'import PyQt5.QtCore' &&
237245 echo 'PyQt5 is available' ||
238246 echo 'PyQt5 is not available'
239- if [[ "${{ runner.os }}" != 'macOS' ]]; then
247+ if [[ "${{ runner.os }}" != 'macOS'
248+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
240249 python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
241250 python -c 'import PySide2.QtCore' &&
242251 echo 'PySide2 is available' ||
@@ -247,18 +256,23 @@ jobs:
247256 python -c 'import PyQt6.QtCore' &&
248257 echo 'PyQt6 is available' ||
249258 echo 'PyQt6 is not available'
259+ fi
260+ if [[ "${{ runner.os }}" != 'macOS'
261+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
250262 python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
251263 python -c 'import PySide6.QtCore' &&
252264 echo 'PySide6 is available' ||
253265 echo 'PySide6 is not available'
254266 fi
255267
256- python -mpip install --upgrade \
257- -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
258- wxPython &&
259- python -c 'import wx' &&
260- echo 'wxPython is available' ||
261- echo 'wxPython is not available'
268+ if [[ "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
269+ python -mpip install --upgrade \
270+ -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
271+ wxPython &&
272+ python -c 'import wx' &&
273+ echo 'wxPython is available' ||
274+ echo 'wxPython is not available'
275+ fi
262276
263277 - name : Install the nightly dependencies
264278 # Only install the nightly dependencies during the scheduled event
@@ -293,7 +307,7 @@ jobs:
293307
294308 cat mplsetup.cfg
295309
296- if [[ "${{ matrix.name-suffix }}" == '(Minimum Versions) ' ]]; then
310+ if [[ "${{ matrix.no-build-isolation }}" == 'true ' ]]; then
297311 # Minimum versions run does not use build isolation so that it
298312 # builds against the pre-installed minver dependencies.
299313 python -m pip install --no-deps --no-build-isolation -ve .
0 commit comments