This fails now with 'failed with env name pyinstaller-32 conflicting with base python C:\hostedtoolcache\windows\Python\3.10.9\x86\python.exe'
See https://github.com/tox-dev/tox/pull/2824
(Ab)using an environment variable indeed seems like the easiest way
forward here, but since it is exposed in the environment for the called
processes, let's give it a name which is less likely to clash, and more
easily identifyable.
Follow-up to c1738ca550.
The changes in requirements-mypy.txt would get overwritten on the next
dependency update. Also, it looks like we don't actually need PyQt6 (or
the PyQt6 stubs) available for checking PyQt 5 code if all Qt 6 imports
are appropriately gated by conditionals mypy knows about.
Follow-up to c1738ca550.
Would be nice to have a bare `mypy` env which ran both the more specific ones
in sequence but I don't know how to do that.
Not sure if there is a way to pull the CONSTANTS_ARGS stuff out to a non-env
parameter and pass it into commands but I couldn't figure out a way. So via
the environment it is.
TODO: compare PyQt6 as-is with the WIP PyQt6-Stub
This raises our minimum tox version from 3.15 to 3.20 to properly
support the environment name with empty factors:
https://github.com/tox-dev/tox/issues/1636
Distribution-wise, this hopefully isn't a problem: Debian Buster
(oldstable) had tox 3.7, Debian bullseye (stable) has 3.21. Similar
story for Ubuntu: 20.04 LTS has 3.13, 21.10 (and thus 22.04 LTS) has
3.21.
Commits for dropping 3.5 support to copy from:
c245b7d855ccd "Initial drop of Python 3.5"
ccdfb44b85 "Drop support for Python 3.6.0"
Anything needed to update regarding OS version support in
doc/install.asciidoc?
TODO: remove 3.6/7 annotations in requirements files and
rebuild
workflows: not sure I updated it right (run 5.12 with 3.7, same 18.04 OS) but
18.04 seems to have 3.7 on it too so it should work. It'll all change when we
drop <5.15 anyway. Not sure what the minimum ubuntu version will be going
forward.
Regarding mimetype overrides (ebb3046822) the doctring says they can all go
in 3.7 but .h5 is still missing on py39, not sure if we should care.
There are a bunch of old(?) warning messages still ignored in tests/end2end/fixtures/quteprocess.py.
With https://github.com/python/mypy/pull/9614, mypy now tries to collect
all files in tests/, but it fails due to:
tests/end2end/conftest.py: error: Duplicate module named 'conftest' (also at 'tests/end2end/features/conftest.py')
tests/end2end/conftest.py: error: Are you missing an __init__.py? [misc]
We should probably add __init__.py files to tests/ at some point...
See #6059 and #5249
We test Qt 5.15.2, but that's based on a newer Chromium version:
Qt 5.14.x -> Chromium 77
Qt 5.15.0 -> Chromium 80
Qt 5.15.2 -> Chromium 83
Some behavior changes between Chromium versions (see e.g. #5915), so it
makes sense to test both.
Picking 5.15.0 rather than .1 due to renderer process crashes in
5.15.1 (#5721). Doesn't matter much on the CI as we don't use WebRTC,
but if someone wants to downgrade with mkvenv.py for some reason, .0
will be more useful than .1.
- Set MYPY_FORCE_TERMINAL_WIDTH to get 180-column output (rather than 80), so
that error messages fit on one line.
- Set MYPY_FORCE_COLOR to get colored output
- Adjust problemmatcher regex accordingly
TERM being missing was the reason that eslint doesn't output colors unless
--color was given.
For some reason, forcing color via --color breaks GitHub Action's problem
matchers, while this approach works just fine.
This reverts commit 548b5a17d7.
This reverts commit fe32e00a4e.
Due to QTBUG-77364 (broken keyboard focus), we can't upgrade to qtbase 5.13.1.
However, with 5.13.0 (and QtWebEngine 5.13.1), we run into two more issues:
- Segfaults in QQuickWindowPrivate::updateDirtyNode() when logging into a
Google account (especially on macOS).
- Qt 5.13.0 with the old PyQt5 exit scheme segfaults on exit on Windows.
However, pyqt5_enable_new_onexit_scheme() was added in PyQt 5.13.1.
See https://bugreports.qt.io/browse/QTBUG-77364
See https://www.riverbankcomputing.com/news/pyqt-5131Reopens#4918