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
@@ -190,8 +196,10 @@ jobs:
190196 python -m pip install --upgrade pip setuptools wheel
191197
192198 # Install pre-release versions during our weekly upcoming dependency tests.
199+ # Also install for 3.12 to get working NumPy (remove when 1.26 is released)
193200 if [[ "${{ github.event_name == 'schedule' &&
194- matrix.name-suffix != '(Minimum Versions)' }}" = "true" ]]; then
201+ matrix.name-suffix != '(Minimum Versions)' }}" = "true"
202+ || "${{ matrix.pre }}" = "true" ]]; then
195203 PRE="--pre"
196204 fi
197205
@@ -203,7 +211,7 @@ jobs:
203211 ${{ matrix.extra-requirements }}
204212
205213 # Preinstall pybind11 on no-build-isolation builds.
206- if [[ "${{ matrix.name-suffix }}" == '(Minimum Versions) ' ]]; then
214+ if [[ "${{ matrix.no-build-isolation }}" == 'true ' ]]; then
207215 python -m pip install 'pybind11>=2.6'
208216 fi
209217
@@ -231,7 +239,8 @@ jobs:
231239 python -c 'import PyQt5.QtCore' &&
232240 echo 'PyQt5 is available' ||
233241 echo 'PyQt5 is not available'
234- if [[ "${{ runner.os }}" != 'macOS' ]]; then
242+ if [[ "${{ runner.os }}" != 'macOS'
243+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
235244 python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
236245 python -c 'import PySide2.QtCore' &&
237246 echo 'PySide2 is available' ||
@@ -242,18 +251,23 @@ jobs:
242251 python -c 'import PyQt6.QtCore' &&
243252 echo 'PyQt6 is available' ||
244253 echo 'PyQt6 is not available'
254+ fi
255+ if [[ "${{ runner.os }}" != 'macOS'
256+ && "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
245257 python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
246258 python -c 'import PySide6.QtCore' &&
247259 echo 'PySide6 is available' ||
248260 echo 'PySide6 is not available'
249261 fi
250262
251- python -mpip install --upgrade \
252- -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
253- wxPython &&
254- python -c 'import wx' &&
255- echo 'wxPython is available' ||
256- echo 'wxPython is not available'
263+ if [[ "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
264+ python -mpip install --upgrade \
265+ -f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
266+ wxPython &&
267+ python -c 'import wx' &&
268+ echo 'wxPython is available' ||
269+ echo 'wxPython is not available'
270+ fi
257271
258272 - name : Install the nightly dependencies
259273 # Only install the nightly dependencies during the scheduled event
@@ -288,7 +302,7 @@ jobs:
288302
289303 cat mplsetup.cfg
290304
291- if [[ "${{ matrix.name-suffix }}" == '(Minimum Versions) ' ]]; then
305+ if [[ "${{ matrix.no-build-isolation }}" == 'true ' ]]; then
292306 # Minimum versions run does not use build isolation so that it
293307 # builds against the pre-installed minver dependencies.
294308 python -m pip install --no-deps --no-build-isolation -ve .
0 commit comments