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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
name: test
on: [push, pull_request]
# Cancel running jobs for the same workflow and branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build and Check Package
uses: hynek/build-and-inspect-python-package@v1.5
test:
needs: [package]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
qt-lib: [pyqt5, pyqt6, pyside2, pyside6]
os: [ubuntu-latest, windows-latest, macos-latest]
exclude:
# Not installable:
# ERROR: Could not find a version that satisfies the requirement pyside2 (from versions: none)
- python-version: "3.11"
qt-lib: pyside2
os: windows-latest
- python-version: "3.12"
qt-lib: pyside2
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Download Package
uses: actions/download-artifact@v3
with:
name: Packages
path: dist
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install tox
if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
sudo apt-get update -y
sudo apt-get install -y libgles2-mesa-dev
fi
shell: bash
- name: Test
shell: bash
run: |
tox -e py-${{ matrix.qt-lib }} --installpkg `find dist/*.tar.gz` -- -ra
|