Skip to content

Drop support for Qt 4 and python 3.6 and below #68

Drop support for Qt 4 and python 3.6 and below

Drop support for Qt 4 and python 3.6 and below #68

Workflow file for this run

name: Run Tests
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
jobs:
membership:
# Install a specific combination of PySide/PyQt and python. Gather the
# available module.class member information and generate common membership.
runs-on: ubuntu-22.04
env:
QT_QPA_PLATFORM: minimal
QT_VERBOSE: 1
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup tox
uses: ./.github/actions/setup-tox
- name: Run Tox
# Gather membership data for each each Qt binding. This uses only one
# version of python to reduce the complexity of the output.
# membership-end combines binding/py data into common membership report
run: |
which tox
tox -e membership-py37-PySide5.13,membership-py37-PyQt5.13,membership-py39-PySide5.15,membership-py39-PyQt5.15,membership-py311-PySide6.5,membership-py311-PyQt6.7,membership-end
ls -lha .members
- name: Upload membership report
uses: actions/upload-artifact@v6
with:
name: membership-report
path: |
.members/
include-hidden-files: true
test:
runs-on: ubuntu-22.04
needs: membership
strategy:
matrix:
test_env: [
# Cy2020
'test-py37-PySide5.13',
'test-py37-PyQt5.13',
# Cy2021
'test-py37-PySide5.15',
'test-py37-PyQt5.15',
# Cy2022
'test-py39-PySide5.15',
'test-py39-PyQt5.15',
# Cy2023
'test-py310-PySide5.15',
'test-py310-PyQt5.15',
# Cy2024, Cy2025
'test-py311-PySide6.5',
'test-py311-PyQt6.5',
]
env:
QT_QPA_PLATFORM: minimal
QT_VERBOSE: 1
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup tox
uses: ./.github/actions/setup-tox
- name: Download coverage artifacts
# This is needed by the test_membership test
uses: actions/download-artifact@v7
with:
name: membership-report
path: .members
merge-multiple: true
- name: Display structure of downloaded files
run: ls -lha .members
- name: Tox Test - Implementation
# Note: `--skip-missing-interpreters` prevents false success if python
# version is not installed when testing.
run: |
which tox
tox --skip-missing-interpreters false -e test-begin,${{ matrix.test_env }}-impl
- name: Tox Test - Caveats
run: |
tox --skip-missing-interpreters false -e ${{ matrix.test_env }}-caveats
- name: Tox Test - Examples
run: |
tox --skip-missing-interpreters false -e ${{ matrix.test_env }}-examples
pip-package:
# Build and upload pip packages as artifacts so we can inspect them and
# ensure they are correct for actual release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10.x"
- name: Install build dependency
run: python3 -m pip install --upgrade build
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Upload packages.
uses: actions/upload-artifact@v6
with:
name: pip-packages
path: |
dist/Qt[._]py-*.whl
dist/Qt[._]py-*.tar.gz