1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Full Python coverage with PyQt5 and PyQt6 on Linux
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
qt: [pyqt5, pyqt6]
os: [ubuntu-latest]
include:
# Spot-check PySide6 on Linux
- {python: "3.12", qt: pyside6, os: ubuntu-latest}
# Spot-check PyQt5 on macOS (Windows has wheel issues)
- {python: "3.12", qt: pyqt5, os: macos-latest}
# Spot-check PyQt6 on macOS and Windows
- {python: "3.12", qt: pyqt6, os: macos-latest}
- {python: "3.12", qt: pyqt6, os: windows-latest}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Install Linux display dependencies
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libegl1
- name: Run tests
env:
QT_QPA_PLATFORM: offscreen
run: uv run --python ${{ matrix.python }} --extra ${{ matrix.qt }} pytest
|