replace the qt module and update everything from Qt5 to Qt6 #472
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
# GH Actions script to test Pyzo. | |
name: CI | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
lint-build: | |
name: Test linting | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install dev dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U black flake8 flake8-black | |
- name: Flake8 | |
run: | | |
flake8 . | |
test-builds: | |
name: Test ${{ matrix.os }} py${{ matrix.pyversion }} ${{ matrix.qtlib }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Main test builds, 3 OS's times 4 Qt toolkits | |
- os: windows-latest | |
pyversion: '3.12' | |
qtlib: pyside6 | |
- os: windows-latest | |
pyversion: '3.11' | |
qtlib: pyqt6 | |
- os: windows-latest | |
pyversion: '3.10' | |
qtlib: pyqt5 | |
- os: windows-latest | |
pyversion: '3.9' | |
qtlib: pyside2 | |
# --- | |
- os: ubuntu-latest | |
pyversion: '3.12' | |
qtlib: pyside6 | |
- os: ubuntu-latest | |
pyversion: '3.11' | |
qtlib: pyqt6 | |
- os: ubuntu-latest | |
pyversion: '3.10' | |
qtlib: pyqt5 | |
- os: ubuntu-latest | |
pyversion: '3.9' | |
qtlib: pyside2 | |
# --- | |
- os: macos-latest | |
pyversion: '3.12' | |
qtlib: 'pyside6==6.6.0' | |
- os: macos-latest | |
pyversion: '3.11' | |
qtlib: pyqt6 | |
- os: macos-latest | |
pyversion: '3.10' | |
qtlib: pyqt5 | |
# --- PySide2 requires macOS with Intel CPU | |
- os: macos-12 # ... has Intel instead of Apple Silicon | |
pyversion: '3.9' | |
qtlib: pyside2 | |
# --- Older Python versions and qt libs | |
- os: windows-latest | |
pyversion: '3.6' | |
qtlib: pyside6 | |
- os: windows-latest | |
pyversion: '3.8' | |
qtlib: pyside6 | |
- os: windows-latest | |
pyversion: '3.9' | |
qtlib: pyside6 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup os | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt update | |
sudo apt install libegl1-mesa | |
- name: Set up Python ${{ matrix.pyversion }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.pyversion }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U pytest>=7.0.1 | |
pip install -U ${{ matrix.qtlib }} | |
- name: Install in development mode | |
run: | | |
pip install -e . | |
- name: Test on repo | |
run: | | |
pytest -v tests | |
- name: Prepare run | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt install -y libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 \ | |
libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ | |
libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libxcb-cursor0 | |
- name: Run Pyzo (linux) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
xvfb-run --auto-servernum python pyzolauncher.py --test | |
python tests/check_log.py | |
- name: Run Pyzo | |
if: matrix.os != 'ubuntu-latest' | |
run: | | |
python pyzolauncher.py --test | |
python tests/check_log.py |