diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 455e4e0..30be63b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -130,24 +130,36 @@ jobs: - name: default tox: default dependencies: default + qt: false - name: PyQt5 tox: pyqt5 - dependencies: qt5 + dependencies: qt + qt: true + qt-major: 5 + - name: PyQt6 + tox: pyqt6 + dependencies: qt + qt: true + qt-major: 6 - name: PySide2 tox: pyside2 - dependencies: qt5 + dependencies: qt + qt: true + qt-major: 5 + - name: PySide6 + tox: pyside6 + dependencies: qt + qt: true + qt-major: 6 - name: asyncio tox: asyncio dependencies: asyncio + qt: false exclude: - python: major: 2 reactor: - tox: pyqt5 - - python: - major: 2 - reactor: - tox: pyside2 + qt: true - python: action: "3.11" reactor: @@ -159,11 +171,15 @@ jobs: - python: implementation: pypy reactor: - tox: pyqt5 + qt: true - python: - implementation: pypy + action: "3.5" reactor: - tox: pyside2 + qt-major: 6 + - python: + action: "3.6" + reactor: + qt-major: 6 steps: - uses: actions/checkout@v2 - name: Enable Problem Matchers @@ -200,10 +216,10 @@ jobs: echo pip freeze --all - name: Install Linux Qt5 dependencies - if: matrix.os.python_platform == 'linux' && matrix.reactor.dependencies == 'qt5' + if: matrix.os.python_platform == 'linux' && matrix.reactor.dependencies == 'qt' run: | apt-get update --yes - apt-get install --yes libgl1 + apt-get install --yes libgl1-mesa-dev libdbus-1-3 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 - name: Install run: | pip install tox diff --git a/setup.py b/setup.py index a4aef9c..4b0d6c5 100755 --- a/setup.py +++ b/setup.py @@ -18,10 +18,17 @@ extras_require={ "dev": ["pre-commit", "black"], "pyside2": [ - # >= 0.6.3 for PySide2 extra version constraints - "qt5reactor[pyside2]>=0.6.3", + "qt5reactor[pyside2] @ git+https://github.com/twisted/qt5reactor@master", + ], + "pyside6": [ + "qt5reactor[pyside6] @ git+https://github.com/twisted/qt5reactor@master", + ], + "pyqt5": [ + "qt5reactor[pyqt5] @ git+https://github.com/twisted/qt5reactor@master", + ], + "pyqt6": [ + "qt5reactor[pyqt6] @ git+https://github.com/twisted/qt5reactor@master", ], - "pyqt5": ["qt5reactor[pyqt5]>=0.6.2"], }, classifiers=[ "Development Status :: 5 - Production/Stable", diff --git a/tox.ini b/tox.ini index addfca7..97e44e0 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,9 @@ envlist= py{27,py27,35,36,37,38,39,310,311,py37,py38,py39}-defaultreactor py{35,36,37,38,39,310,311,py37,py38,py39}-asyncioreactor py{35,36,37,38,39,310,311}-pyqt5reactor + py{35,36,37,38,39,310,311}-pyqt6reactor py{35,36,37,38,39,310,311}-pyside2reactor + py{35,36,37,38,39,310,311}-pyside6reactor linting [testenv] @@ -12,16 +14,20 @@ deps= pytest twisted py37,py38,py39,pypy37,pypy38: hypothesis - pyqt5reactor,pyside2reactor: pytest-qt - pyqt5reactor,pyside2reactor: pytest-xvfb - pyqt5reactor,pyside2reactor: pywin32; sys_platform == 'win32' + pyqt5reactor,pyqt6reactor,pyside2reactor,pyside6reactor: pytest-qt + pyqt5reactor,pyqt6reactor,pyside2reactor,pyside6reactor: pytest-xvfb + pyqt5reactor,pyqt6reactor,pyside2reactor,pyside6reactor: pywin32; sys_platform == 'win32' extras= pyqt5reactor: pyqt5 + pyqt6reactor: pyqt6 pyside2reactor: pyside2 + pyside6reactor: pyside6 setenv= defaultreactor: REACTOR = default pyqt5reactor: REACTOR = qt5reactor + pyqt6reactor: REACTOR = qt5reactor pyside2reactor: REACTOR = qt5reactor + pyside6reactor: REACTOR = qt5reactor asyncioreactor: REACTOR = asyncio commands= pytest --reactor={env:REACTOR}