Commit Graph

613 Commits

Author SHA1 Message Date
Florian Bruhin a2983553bb Merge branch 'feat/pyqt67_enablement' 2024-05-24 21:51:34 +02:00
Florian Bruhin 0f51171141 Revert "Try getting PyQt 6.7 from Riverbank server"
This reverts commit 6c4be8ef03.

Possibly easier solution in next commit.
2024-05-24 17:08:56 +02:00
Florian Bruhin 8b44c26146 Try getting PyQt 6.7 from Riverbank server
See https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html and https://github.com/pypi/support/issues/3949
2024-05-24 17:08:56 +02:00
toofar 3f1842b729 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
2024-05-24 17:08:56 +02:00
Florian Bruhin 6339eacda4 py313: Upgrade typing-extensions 2024-05-23 14:52:10 +02:00
Florian Bruhin 2d89a6f4c0 tox: Add py313 2024-05-23 08:35:12 +02:00
Florian Bruhin f671e997cc tox: Avoid installing PyQt from source for bleeding envs
Right now, the Riverbank PyPI server has a PyQt5 sdist but no wheels.
2024-03-26 14:23:05 +01:00
Florian Bruhin cd25d8096d tox: Stop pinning virtualenv for Python 3.12
Reverts 0b0401f8bb

Fixed in virtualenv 20.23.0 which ships pip 23.1.2 which ships setuptools
67.7.2.

Archlinux upgraded finally in August:
https://gitlab.archlinux.org/archlinux/packaging/packages/python-virtualenv/-/commits/main
2024-01-30 20:27:34 +01:00
toofar bb9788f80f add pyqt6.6 requirements file
What is that big chain of !pyqt- etc mean? idk

ref: https://github.com/qutebrowser/qutebrowser/pull/7990
2023-11-13 18:45:18 +13:00
toofar 1fa678db61 Revert "Re-compile PyInstaller bootloader in CI."
This reverts commit 6042fccbf5.
2023-10-28 10:44:55 +13:00
Florian Bruhin b981d0ab7f tox: Switch to --extra-index-url for bleeding env
This should make pip fall back to PyPI for packages not on Riverbank's server
2023-08-27 19:25:48 +02:00
Florian Bruhin 950d06ad5b ci: Initial automatic release support
See #3725
2023-08-17 12:35:53 +02:00
Florian Bruhin 0d431ddc5d tests: Install more requirements from Riverbank PyPI server 2023-08-15 22:30:58 +02:00
Florian Bruhin a196344742 ci: Use proper image for Qt 6 bleeding tests 2023-08-15 19:31:36 +02:00
Florian Bruhin 403301223c wip: Add Qt 6 bleeding tests to CI 2023-08-15 19:05:19 +02:00
Florian Bruhin 8221fd7878 wip: Add Qt 6 bleeding tests to CI 2023-08-15 18:57:17 +02:00
Florian Bruhin 0c0bad05cd ci: Upgrade bleeding tests to Qt 6 2023-08-15 17:04:50 +02:00
toofar 0f2d34623c Merge remote-tracking branch 'upstream/main' into feat/mac_sandbox_pre_release_pyinstaller
Only conflict was the removal of support for 32bit builds in
build_release.py
2023-08-12 13:49:01 +12:00
Florian Bruhin 3b1c3856a9
Merge pull request #7797 from pylbrecht/build-on-ci
Run package building on CI with warnings turned into errors
2023-08-10 12:14:23 +02:00
Florian Bruhin e20bba8d91 Don't fail on weird pip warning
We got a `DeprecationWarning` during the package build, which we were not able to
reproduce locally. For now we just don't turn this particular `DeprecationWarning` into
an exception to not fail CI.
2023-08-09 12:46:58 +02:00
Philipp Albrecht 1976f1acdd Add package job to tox.ini
This is still *very* basic, but it serves its purpose of failing for warnings during
package build.

I verified that `tox -e package` is failing by introducing some warnings with this change:
```diff
diff --git a/setup.py b/setup.py
index feb949595..6810eaf1e 100755
--- a/setup.py
+++ b/setup.py
@@ -51,8 +51,7 @@ def _get_constant(name):
try:
   common.write_git_file()
   setuptools.setup(
-        packages=setuptools.find_namespace_packages(include=['qutebrowser',
-                                                             'qutebrowser.*']),
+        packages=setuptools.find_namespace_packages(include=['qutebrowser']),
       include_package_data=True,
       entry_points={'gui_scripts':
                     ['qutebrowser = qutebrowser.qutebrowser:main']},
```
2023-08-09 12:46:58 +02:00
Florian Bruhin c2210539a9 Drop 32bit Windows release support
See #6050, still keeping open to track NSIS changes
2023-07-27 21:05:26 +02:00
toofar 6042fccbf5 Re-compile PyInstaller bootloader in CI.
Since we are pulling down PyInstaller off of the develop branch we need
to recompile the bootloader, because upstream only commits a new one
back to the branch on releases. Luckily all the compiler requirements
seem to already be installed on CI.

For the record the macOS CI is currently failing with

    dlopen: dlopen(/Users/runner/work/qutebrowser/qutebrowser/dist/qutebrowser.app/Contents/MacOS/libpython3.10.dylib, 10): image not found

And upon inspection of dist/ that file seems to be at

    ./qutebrowser.app/Contents/Resources/libpython3.10.dylib
    ./qutebrowser.app/Contents/Frameworks/libpython3.10.dylib
    ./qutebrowser/_internal/libpython3.10.dylib
2023-07-27 19:12:03 +12:00
Florian Bruhin 7fbf9b56fa tox: Use PyQt6 release for mypy
6.5.2 is out with the fixes in
2023-07-24 20:16:11 +02:00
Florian Bruhin ec34865168 Move master branch references to main
Closes #7097
2023-07-23 11:38:19 +02:00
Florian Bruhin 273230eb07 Merge remote-tracking branch 'origin/pr/7789' 2023-07-22 12:36:31 +02:00
Florian Bruhin 9ef21eed1a tox: Update VIRTUALENV_PIP 2023-07-20 15:04:30 +02:00
Florian Bruhin 5a9027c54e mypy: Switch to upstream stubs for PyQt6
They are getting much better
2023-07-09 01:02:33 +02:00
arza 312b7878fa tox: Fix vulture-pyqtlink environment 2023-07-05 14:52:17 +03:00
Florian Bruhin 63ff0624d0 tox: Inherit setenv instead of duplicating 2023-06-30 19:29:28 +02:00
Florian Bruhin b5d5c7f4d3 More qt 6 tooling 2023-06-30 19:29:28 +02:00
Florian Bruhin ffc06e58d6 qt6: Switch most tooling/linting to Qt 6
Only mypy missing now...
2023-06-30 19:29:28 +02:00
Florian Bruhin 93c7fdd60c Initial Python 3.7 drop 2023-06-26 14:39:54 +02:00
Florian Bruhin fe994ef149 qt: Update mypy constants 2023-06-13 00:02:32 +02:00
Florian Bruhin 0b0401f8bb py312: Tell tox/virtualenv to upgrade pip
Otherwise we run into a Python 3.12 incompatibility with pkg_resources:
https://github.com/pypa/pip/issues/11501

Also needs PIP_REQUIRE_VIRTUALENV=0 because otherwise pip seems to
falsely assume it's installing things system-wide, weirdly.

Should probably be removed once there is a newer virtualenv, which
vendors a newer pip, which vendors a newer pkg_resources...

See #7727
2023-06-08 17:40:45 +02:00
Florian Bruhin 6e018fe2ab ci: Test a bigger sample of Python versions
- Make sure we still test Python 3.7 and 3.8 after dropping old PyQt
  versions in c5a51eb0bc
- Keep a modern Python version (3.11) with Qt 5 around, however
- Make sure we still test Python 3.10 too
- Also start testing the Python 3.12 alpha
2023-04-11 15:21:40 +02:00
Florian Bruhin 30e70803d0 ci: Add PyQt 6.5
See #7624
2023-04-10 23:25:15 +02:00
toofar f68798a081 ci: attempt to make the qt6 docker run work
On CI were were getting "Could not import sip" because link_pyqt was
looking for PyQt5.sip.
I made that look at QUTE_QT_WRAPPER since that's being set already on
tox.ini
There are probably a few other changes around link_pyqt and the makefile
etc we need to change when we switch the default wrapper.

I overrode the default `py` tox environment with py-qt6 to override
those wrapper related variables. I probably could have done something
sneaky with curly braces to make it so we don't have to add a few more
lines to the file. But in my opinion in config file is far to obfuscated
and hard to maintain already.

I changed the docker file to call the new py-qt6 env if it's a qt6
container. I'm not 100% sure that is required though since there is also
a tox invocation in the GH action definition, maybe that overrides the
container entrypoint? Also changed the indentation in the dockerfile
template a bit to make it easier to see where the conditionals start and
end.

Speaking of which I changed the matrix definition and tox invocation to
match a later one to hopefully make it so we can invoke different tox
environments in the containers without having to rebuild the containers.
Not sure I did that right, I'll see soon.

I added the unstable-qt6 container generation line so we can use it in
the future, and to match the not-qt6 one. I'm not switching to that in
CI though because the pyqt used by that is broken at the moment
(ref https://www.riverbankcomputing.com/pipermail/pyqt/2023-March/045214.html)

Also fixed the vim modeline in generate.py so my syntax highlighting
works.
2023-03-18 17:29:25 +13:00
Florian Bruhin 4793070db3 Merge branch 'qt6-v2' into master-qt6 2023-03-17 20:30:13 +01:00
Florian Bruhin 30125a2e2e tox: Install doc requirements for tests too
Needed so that tests generating :help docs run properly.

Follow-up to af176f749f and
bbdc83f638

(cherry picked from commit 3d56f57e50)
2023-03-14 16:36:06 +01:00
Florian Bruhin 3d56f57e50 tox: Install doc requirements for tests too
Needed so that tests generating :help docs run properly.

Follow-up to af176f749f and
bbdc83f638
2023-03-14 16:35:09 +01:00
Florian Bruhin 391623d5ec tox: Don't use environment names ending in digits
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
2023-01-19 09:58:06 +01:00
Florian Bruhin b4d32e04f4 Merge branch 'master' into qt6-v2 2022-12-13 09:05:32 +01:00
Florian Bruhin 65440f3f1e ci: I shouldn't push changes before my first coffee 2022-12-13 08:49:06 +01:00
Florian Bruhin 21ac559a65 More adjustments for tox 4 subtleties 2022-12-12 13:42:32 +01:00
Florian Bruhin bbdc83f638 Fix lint/ci 2022-12-12 13:37:07 +01:00
Florian Bruhin 4c9050d4be Update tox.ini syntax for tox 4 compat
See https://tox.wiki/en/4.0.3/faq.html#tox-4-changed-ini-rules
2022-12-12 09:29:56 +01:00
Florian Bruhin a497ce69be tox/ci: Add PyQt 6.4 2022-11-24 09:26:30 +01:00
toofar 819d56043b doc: add some contributor notes about mypy
also update the default tox env list which I forgot to do when changing
the mypy targets.
2022-10-14 15:49:28 +13:00
Florian Bruhin 8dd2bd5b54 tox: Use more unique env var name
(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.
2022-09-16 14:26:33 +02:00