diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 090db5ef7..1dcf7e7d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,19 +49,19 @@ jobs: timeout-minutes: 15 if: ${{ !startsWith( matrix.python-version, 'pypy' ) && !startsWith(matrix.os, 'windows') }} run: | - hatch run cov:test --cov-fail-under 50 || hatch run test:test --lf + hatch run cov:test --cov-fail-under 50 - name: Run the tests on pypy timeout-minutes: 15 if: ${{ startsWith( matrix.python-version, 'pypy' ) }} run: | - hatch run test:nowarn || hatch run test:nowarn --lf + hatch run test:nowarn - name: Run the tests on Windows timeout-minutes: 15 if: ${{ startsWith(matrix.os, 'windows') }} run: | - hatch run cov:nowarn || hatch run test:nowarn --lf + hatch run cov:nowarn - name: Check Launcher run: | @@ -144,7 +144,7 @@ jobs: - name: Run the tests timeout-minutes: 15 - run: pytest -W default -vv || pytest --vv -W default --lf + run: pytest -W default -vv test_miniumum_versions: name: Test Minimum Versions @@ -164,7 +164,7 @@ jobs: - name: Run the unit tests run: | - hatch -v run test:nowarn || hatch run test:nowarn --lf + hatch -v run test:nowarn test_prereleases: name: Test Prereleases @@ -179,7 +179,7 @@ jobs: dependency_type: pre - name: Run the tests run: | - hatch run test:nowarn || hatch run test:nowarn --lf + hatch run test:nowarn make_sdist: name: Make SDist diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7ab2c8bf0..8e17caad0 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,7 +3,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.13" sphinx: configuration: docs/conf.py diff --git a/tests/test_eventloop.py b/tests/test_eventloop.py index 57a2ca913..7dc0106c8 100644 --- a/tests/test_eventloop.py +++ b/tests/test_eventloop.py @@ -98,12 +98,16 @@ def test_cocoa_loop(kernel): loop_cocoa(kernel) -@pytest.mark.skipif( - len(qt_guis_avail) == 0, reason="No viable version of PyQt or PySide installed." -) -def test_qt_enable_gui(kernel, capsys): - gui = qt_guis_avail[0] - +@pytest.mark.parametrize("gui", qt_guis_avail) +def test_qt_enable_gui(gui, kernel, capsys): + if os.getenv("GITHUB_ACTIONS", None) == "true" and gui == "qt5": + pytest.skip("Qt5 and GitHub action crash CPython") + if gui == "qt6" and sys.version_info < (3, 10): + pytest.skip( + "qt6 fails on 3.9 with AttributeError: module 'PySide6.QtPrintSupport' has no attribute 'QApplication'" + ) + if sys.platform == "linux" and gui == "qt6" and os.getenv("GITHUB_ACTIONS", None) == "true": + pytest.skip("qt6 fails on github CI with missing libEGL.so.1") enable_gui(gui, kernel) # We store the `QApplication` instance in the kernel.