summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-03-17 20:30:13 +0100
committerFlorian Bruhin <me@the-compiler.org>2023-03-17 20:30:13 +0100
commit4793070db3e5afec32470c440a63c6add0450880 (patch)
treed69cba543c311f3e131c76b5cbb9e6006f6fc32c /tox.ini
parent3d56f57e502ffaad40936f19f44083a2b63f0690 (diff)
parent30125a2e2e302b79a168db36cb5b3f18ff50f5bd (diff)
downloadqutebrowser-4793070db3e5afec32470c440a63c6add0450880.tar.gz
qutebrowser-4793070db3e5afec32470c440a63c6add0450880.zip
Merge branch 'qt6-v2' into master-qt6
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini55
1 files changed, 36 insertions, 19 deletions
diff --git a/tox.ini b/tox.ini
index 53eb6938c..842e527b7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,15 +4,17 @@
# and then run "tox" from this directory.
[tox]
-envlist = py38-pyqt515-cov,mypy,misc,vulture,flake8,pylint,pyroma,check-manifest,eslint,yamllint,actionlint
+envlist = py38-pyqt515-cov,mypy-pyqt5,misc,vulture,flake8,pylint,pyroma,check-manifest,eslint,yamllint,actionlint
distshare = {toxworkdir}
skipsdist = true
-minversion = 3.15
+minversion = 3.20
[testenv]
setenv =
PYTEST_QT_API=pyqt5
- pyqt{,512,513,514,515,5150}: LINK_PYQT_SKIP=true
+ QUTE_QT_WRAPPER=PyQt5
+ pyqt{62,63,64}: PYTEST_QT_API=pyqt6
+ pyqt{62,63,64}: QUTE_QT_WRAPPER=PyQt6
cov: PYTEST_ADDOPTS=--cov --cov-report xml --cov-report=html --cov-report=
passenv =
PYTHON
@@ -41,13 +43,13 @@ deps =
-r{toxinidir}/misc/requirements/requirements-tests.txt
-r{toxinidir}/misc/requirements/requirements-docs.txt
pyqt: -r{toxinidir}/misc/requirements/requirements-pyqt.txt
- pyqt512: -r{toxinidir}/misc/requirements/requirements-pyqt-5.12.txt
- pyqt513: -r{toxinidir}/misc/requirements/requirements-pyqt-5.13.txt
- pyqt514: -r{toxinidir}/misc/requirements/requirements-pyqt-5.14.txt
pyqt515: -r{toxinidir}/misc/requirements/requirements-pyqt-5.15.txt
- pyqt5150: -r{toxinidir}/misc/requirements/requirements-pyqt-5.15.0.txt
+ pyqt5152: -r{toxinidir}/misc/requirements/requirements-pyqt-5.15.2.txt
+ pyqt62: -r{toxinidir}/misc/requirements/requirements-pyqt-6.2.txt
+ pyqt63: -r{toxinidir}/misc/requirements/requirements-pyqt-6.3.txt
+ pyqt64: -r{toxinidir}/misc/requirements/requirements-pyqt-6.4.txt
commands =
- {envpython} scripts/link_pyqt.py --tox {envdir}
+ !pyqt-!pyqt515-!pyqt5152-!pyqt62-!pyqt63-!pyqt64: {envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -bb -m pytest {posargs:tests}
cov: {envpython} scripts/dev/check_coverage.py {posargs}
@@ -168,16 +170,19 @@ commands =
{envpython} scripts/dev/check_doc_changes.py {posargs}
{envpython} scripts/asciidoc2html.py {posargs}
-[testenv:pyinstaller-{64bit,32bit}]
+[testenv:pyinstaller-{64bit,32bit}{,-qt6}]
basepython = {env:PYTHON:python3}
passenv =
APPDATA
HOME
PYINSTALLER_DEBUG
+setenv =
+ qt6: PYINSTALLER_QT6=true
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-pyinstaller.txt
- -r{toxinidir}/misc/requirements/requirements-pyqt.txt
+ !qt6: -r{toxinidir}/misc/requirements/requirements-pyqt.txt
+ qt6: -r{toxinidir}/misc/requirements/requirements-pyqt-6.txt
commands =
{envbindir}/pyinstaller --noconfirm misc/qutebrowser.spec
@@ -195,18 +200,22 @@ deps =
allowlist_externals = bash
commands = bash scripts/dev/run_shellcheck.sh {posargs}
-[testenv:mypy]
+[testenv:mypy-{pyqt5,pyqt6}]
basepython = {env:PYTHON:python3}
passenv =
TERM
MYPY_FORCE_TERMINAL_WIDTH
+setenv =
+ pyqt6: QUTE_CONSTANTS_ARGS=--always-true=USE_PYQT6 --always-false=USE_PYQT5 --always-false=USE_PYSIDE2 --always-false=USE_PYSIDE6 --always-false=IS_QT5 --always-true=IS_QT6
+ pyqt5: QUTE_CONSTANTS_ARGS=--always-false=USE_PYQT6 --always-true=USE_PYQT5 --always-false=USE_PYSIDE2 --always-false=USE_PYSIDE6 --always-true=IS_QT5 --always-false=IS_QT6
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-dev.txt
-r{toxinidir}/misc/requirements/requirements-tests.txt
-r{toxinidir}/misc/requirements/requirements-mypy.txt
+ pyqt6: -r{toxinidir}/misc/requirements/requirements-pyqt-6.txt
commands =
- {envpython} -m mypy qutebrowser {posargs}
+ {envpython} -m mypy {env:QUTE_CONSTANTS_ARGS} qutebrowser {posargs}
[testenv:yamllint]
basepython = {env:PYTHON:python3}
@@ -221,12 +230,15 @@ allowlist_externals = actionlint
commands =
actionlint
-[testenv:mypy-diff]
+[testenv:mypy-{pyqt5,pyqt6}-diff]
basepython = {env:PYTHON:python3}
-passenv = {[testenv:mypy]passenv}
-deps = {[testenv:mypy]deps}
+passenv = {[testenv:mypy-pyqt6]passenv}
+deps = {[testenv:mypy-pyqt6]deps}
+setenv =
+ pyqt6: QUTE_CONSTANTS_ARGS=--always-true=USE_PYQT6 --always-false=USE_PYQT5 --always-false=USE_PYSIDE2 --always-false=USE_PYSIDE6 --always-false=IS_QT5 --always-true=IS_QT6
+ pyqt5: QUTE_CONSTANTS_ARGS=--always-false=USE_PYQT6 --always-true=USE_PYQT5 --always-false=USE_PYSIDE2 --always-false=USE_PYSIDE6 --always-true=IS_QT5 --always-false=IS_QT6
commands =
- {envpython} -m mypy --cobertura-xml-report {envtmpdir} qutebrowser tests {posargs}
+ {envpython} -m mypy --cobertura-xml-report {envtmpdir} {env:QUTE_CONSTANTS_ARGS} qutebrowser tests {posargs}
{envdir}/bin/diff-cover --fail-under=100 --compare-branch={env:DIFF_BRANCH:origin/{env:GITHUB_BASE_REF:master}} {envtmpdir}/cobertura.xml
[testenv:sphinx]
@@ -240,16 +252,21 @@ deps =
commands =
{envpython} -m sphinx -jauto -W --color {posargs} {toxinidir}/doc/extapi/ {toxinidir}/doc/extapi/_build/
-[testenv:build-release]
+[testenv:build-release{,-qt6}]
basepython = {env:PYTHON:python3}
passenv = *
+# Override default PyQt5 from [testenv]
+setenv =
+ qt6: QUTE_QT_WRAPPER=PyQt6
usedevelop = true
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-tox.txt
-r{toxinidir}/misc/requirements/requirements-docs.txt
- -r{toxinidir}/misc/requirements/requirements-pyqt.txt
+ !qt6: -r{toxinidir}/misc/requirements/requirements-pyqt.txt
+ qt6: -r{toxinidir}/misc/requirements/requirements-pyqt-6.txt
-r{toxinidir}/misc/requirements/requirements-dev.txt
-r{toxinidir}/misc/requirements/requirements-pyinstaller.txt
commands =
- {envpython} {toxinidir}/scripts/dev/build_release.py {posargs}
+ !qt6: {envpython} {toxinidir}/scripts/dev/build_release.py {posargs}
+ qt6: {envpython} {toxinidir}/scripts/dev/build_release.py --qt6 {posargs}