From ce562b771de22d6834796f450a6bcb426c20c666 Mon Sep 17 00:00:00 2001 From: toofar Date: Sun, 28 Apr 2024 13:58:15 +1200 Subject: [PATCH] Update requirements and CI for PyQt6.7 6.7 is released now, some distros are already shipping it! This commit: 1. adds a new 6.7 requirements file (the plain 6 one has already been updated by the bot) 2. adds a new tox env referring to the new requirements file 3. updates the mac and windows installer jobs to run with pyqt67 with the assumption we'll be including that in our next release 4. adds two new CI environments for 6.7, one each for python 3.11 and 3.12 (3.12 only came out like 6 months ago) 5. updates a couple of references to the py37 tox env that looked like they were missed, 3.7 support was dropped in 93c7fdd 6. updates various ubuntu containers to the latest LTS instead of the previous related one - this is quite unrelated to this change but I thought I would give it a go, no need to use the old one unless we are specifically testing on it? - linters - they use tox but probably use system libraries - these all run in nested containers anyway, should be fully isolated - codeql - eh, uses a third party action, check the docs if it fails - irc - as above --- .github/workflows/ci.yml | 26 ++++++++++++------- misc/requirements/requirements-pyqt-6.7.txt | 7 +++++ .../requirements-pyqt-6.7.txt-raw | 4 +++ tox.ini | 3 ++- 4 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 misc/requirements/requirements-pyqt-6.7.txt create mode 100644 misc/requirements/requirements-pyqt-6.7.txt-raw diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 599ba3b1b..f62d2bdc5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: linters: if: "!contains(github.event.head_commit.message, '[ci skip]')" timeout-minutes: 10 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -86,7 +86,7 @@ jobs: tests-docker: if: "!contains(github.event.head_commit.message, '[ci skip]')" timeout-minutes: 45 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -129,7 +129,7 @@ jobs: matrix: include: ### PyQt 5.15.2 (Python 3.8) - - testenv: py37-pyqt5152 + - testenv: py38-pyqt5152 os: ubuntu-20.04 python: "3.8" ### PyQt 5.15 (Python 3.10, with coverage) @@ -142,7 +142,7 @@ jobs: os: ubuntu-20.04 python: "3.11" ### PyQt 6.2 (Python 3.8) - - testenv: py37-pyqt62 + - testenv: py38-pyqt62 os: ubuntu-20.04 python: "3.8" ### PyQt 6.3 (Python 3.8) @@ -165,18 +165,26 @@ jobs: - testenv: py312-pyqt66 os: ubuntu-22.04 python: "3.12" + ### PyQt 6.7 (Python 3.11) + - testenv: py311-pyqt67 + os: ubuntu-22.04 + python: "3.11" + ### PyQt 6.7 (Python 3.12) + - testenv: py312-pyqt67 + os: ubuntu-22.04 + python: "3.12" ### macOS Big Sur - - testenv: py312-pyqt66 + - testenv: py312-pyqt67 os: macos-11 python: "3.12" args: "tests/unit" # Only run unit tests on macOS ### macOS Monterey - - testenv: py312-pyqt66 + - testenv: py312-pyqt67 os: macos-12 python: "3.12" args: "tests/unit" # Only run unit tests on macOS ### Windows - - testenv: py312-pyqt66 + - testenv: py312-pyqt67 os: windows-2019 python: "3.12" runs-on: "${{ matrix.os }}" @@ -226,7 +234,7 @@ jobs: permissions: security-events: write timeout-minutes: 15 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@v4 @@ -243,7 +251,7 @@ jobs: irc: timeout-minutes: 2 continue-on-error: true - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 needs: [linters, tests, tests-docker, codeql] if: "always() && github.repository_owner == 'qutebrowser'" steps: diff --git a/misc/requirements/requirements-pyqt-6.7.txt b/misc/requirements/requirements-pyqt-6.7.txt new file mode 100644 index 000000000..b33f919ee --- /dev/null +++ b/misc/requirements/requirements-pyqt-6.7.txt @@ -0,0 +1,7 @@ +# This file is automatically generated by scripts/dev/recompile_requirements.py + +PyQt6==6.7.0 +PyQt6-Qt6==6.7.0 +PyQt6-sip==13.6.0 +PyQt6-WebEngine==6.7.0 +PyQt6-WebEngine-Qt6==6.7.0 diff --git a/misc/requirements/requirements-pyqt-6.7.txt-raw b/misc/requirements/requirements-pyqt-6.7.txt-raw new file mode 100644 index 000000000..98b1340b2 --- /dev/null +++ b/misc/requirements/requirements-pyqt-6.7.txt-raw @@ -0,0 +1,4 @@ +PyQt6 >= 6.7, < 6.8 +PyQt6-Qt6 >= 6.7, < 6.8 +PyQt6-WebEngine >= 6.7, < 6.8 +PyQt6-WebEngine-Qt6 >= 6.7, < 6.8 diff --git a/tox.ini b/tox.ini index 31e06e396..8ce7b22b3 100644 --- a/tox.ini +++ b/tox.ini @@ -50,8 +50,9 @@ deps = pyqt64: -r{toxinidir}/misc/requirements/requirements-pyqt-6.4.txt pyqt65: -r{toxinidir}/misc/requirements/requirements-pyqt-6.5.txt pyqt66: -r{toxinidir}/misc/requirements/requirements-pyqt-6.6.txt + pyqt67: -r{toxinidir}/misc/requirements/requirements-pyqt-6.7.txt commands = - !pyqt-!pyqt515-!pyqt5152-!pyqt62-!pyqt63-!pyqt64-!pyqt65-!pyqt66: {envpython} scripts/link_pyqt.py --tox {envdir} + !pyqt-!pyqt515-!pyqt5152-!pyqt62-!pyqt63-!pyqt64-!pyqt65-!pyqt66-!pyqt67: {envpython} scripts/link_pyqt.py --tox {envdir} {envpython} -bb -m pytest {posargs:tests} cov: {envpython} scripts/dev/check_coverage.py {posargs}