Add CI envs for PyQt 6.5-6.7, PySide 6.5-6.7 & Python 3.12; fix Readthedocs and matplotlib 3.9, Qt6 failures #84
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Tests | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '*' | |
pull_request: | |
jobs: | |
initial_checks: | |
# Mandatory checks before CI tests | |
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 | |
with: | |
coverage: false | |
envs: | | |
# Code style | |
- linux: codestyle | |
tests: | |
needs: initial_checks | |
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 | |
with: | |
coverage: codecov | |
display: true | |
# Linux PyQt 5.15 and 6.x installations require apt-getting xcb and EGL deps | |
# and headless X11 display; as of Python 3.11 Scipy and h5py also need their own deps. | |
libraries: | | |
apt: | |
- '^libxcb.*-dev' | |
- libxkbcommon-x11-dev | |
- libegl1-mesa | |
- libopenblas-dev | |
- libhdf5-dev | |
brew: | |
- enchant | |
envs: | | |
# Standard tests | |
# Linux builds - test on all supported PyQt5/6 and PySide2/6 versions, | |
# and include all dependencies in some builds | |
- linux: py38-test-pyqt514-all | |
- linux: py39-test-pyqt515 | |
- linux: py310-test-pyqt63-all | |
- linux: py311-test-pyqt64 | |
- linux: py312-test-pyqt65 | |
- linux: py311-test-pyqt66-all | |
- linux: py311-test-pyqt514 | |
- linux: py311-test-pyqt515-lts-all | |
# Documentation build | |
- linux: py38-docs-pyqt514 | |
coverage: false | |
- macos: py311-docs-pyqt64 | |
coverage: false | |
# Test a few configurations on macOS 12 (Intel) and 14 (ARM) | |
- macos: py38-test-pyqt514-all | |
- macos: py311-test-pyqt66 | |
- macos: py312-test-pyqt67 | |
# Test some configurations on Windows | |
- windows: py38-test-pyqt514 | |
- windows: py310-test-pyqt63 | |
- windows: py311-test-pyqt65 | |
- windows: py312-test-pyqt66 | |
# Test against latest developer versions of some packages | |
- linux: py310-test-pyqt515-dev-all | |
- linux: py311-test-pyqt64-dev | |
- linux: py312-test-pyqt515-dev | |
- linux: py312-test-pyqt67-dev-all | |
allowed_failures: | |
needs: initial_checks | |
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 | |
with: | |
coverage: codecov | |
display: true | |
libraries: | | |
apt: | |
- '^libxcb.*-dev' | |
- libxkbcommon-x11-dev | |
- libegl1-mesa | |
- libopenblas-dev | |
- libhdf5-dev | |
brew: | |
- enchant | |
- hdf5 | |
envs: | | |
# Non-deterministic QThread exceptions | |
- linux: py38-test-pyside514-skipexitcode | |
- linux: py39-test-pyside515-skipexitcode | |
- linux: py310-test-pyside63-skipexitcode | |
# PySide6 6.4 failures due to https://github.com/spyder-ide/qtpy/issues/373 | |
# and https://github.com/matplotlib/matplotlib/issues/24155 | |
# PyQt5 / < 6.6 segfaulting under macOS 14 (on arm64) in TestGlueDataDialog or TestLinkEditor | |
# Python 3.11.0 failing on Windows in test_image.py on | |
# > assert df.find_factory(fname) is df.img_data | |
- linux: py310-test-pyside64-skipexitcode | |
- linux: py311-test-pyside65-skipexitcode | |
- linux: py312-test-pyside67-skipexitcode | |
- macos: py310-test-pyside63-skipexitcode | |
- macos: py311-test-pyside64-skipexitcode | |
- macos: py312-test-pyside67-skipexitcode | |
- macos: py310-test-pyqt515 | |
- macos: py312-test-pyqt65 | |
- windows: py310-test-pyside64 | |
- windows: py312-test-pyside66 | |
- windows: py311-test-pyqt515 | |
# Windows docs build | |
- windows: py310-docs-pyqt515 | |
coverage: false | |
# Failure in test_close_tab | |
- windows: py310-test-pyqt515-all | |
publish: | |
needs: tests | |
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1 | |
secrets: | |
pypi_token: ${{ secrets.pypi_token }} |