summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
7 daysupdate_3rdparty: move dict related imports into methodtoofar
I'm trying to update pdf.js in the bleeding edge CI jobs. It complains that either it can't find PyQt or it can't find yaml depending on how I invoke tox. Joy. Since dict stuff isn't run by default in this script hopefully that is the only broken import path and moving it into the function lets the pdfjs (and ace) bit of the script work fine. Actually, looking at the stack traces below, both of them are from dict related code! tox exec -re bleeding -- python scripts/dev/update_3rdparty.py --gh-token *** Traceback (most recent call last): File "/__w/qutebrowser/qutebrowser/scripts/dev/update_3rdparty.py", line 20, in <module> from scripts import dictcli File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/dictcli.py", line 25, in <module> from qutebrowser.browser.webengine import spell File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/browser/webengine/spell.py", line 14, in <module> from qutebrowser.utils import log, message, standarddir File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/utils/message.py", line 15, in <module> from qutebrowser.qt.core import pyqtSignal, pyqtBoundSignal, QObject File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/qt/core.py", line 17, in <module> machinery.init_implicit() File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/qt/machinery.py", line 278, in init_implicit raise NoWrapperAvailableError(info) qutebrowser.qt.machinery.NoWrapperAvailableError: No Qt wrapper was importable. python scripts/dev/update_3rdparty.py --gh-token *** Traceback (most recent call last): File "/__w/qutebrowser/qutebrowser/scripts/dev/update_3rdparty.py", line 20, in <module> from scripts import dictcli File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/dictcli.py", line 25, in <module> from qutebrowser.browser.webengine import spell File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/browser/webengine/spell.py", line 14, in <module> from qutebrowser.utils import log, message, standarddir File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/utils/message.py", line 17, in <module> from qutebrowser.utils import usertypes, log File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/utils/usertypes.py", line 16, in <module> from qutebrowser.utils import log, qtutils, utils File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/utils/qtutils.py", line 39, in <module> from qutebrowser.utils import usertypes, utils File "/__w/qutebrowser/qutebrowser/scripts/dev/../../scripts/../qutebrowser/utils/utils.py", line 29, in <module> import yaml ModuleNotFoundError: No module named 'yaml'
7 daysInstall recent pdf.js in some CI jobstoofar
This installs pdf.js in a selection of CI jobs. Previously the PDF.js tests (in qutescheme.feature) were skipped in CI because it wasn't installed anywhere. There has been a couple of recent cases where pdf.js started depending on javascript features that are too new for even the most recent QtWebEngine to support. The aim of this commit is to catch that case. This doesn't add coverage for older webengine releases. This also incidentally updates the ace editor in these test jobs, since that is also updated by default by the update_3rdparty script. Hopefully that doesn't cause issues. The reasoning for installing on each type of job: *ubuntu jobs*: not installed - while our main test runs are on ubuntu there is an upstream issue where many assets used by pdf.js (like icons used in the toolbar) aren't packaged, see #7904. This causes warning messages because assets requested via qutescheme can't be found, which causes the tests to fail. We could a) install pdf.js from source instead of using the ubuntu one b) ignore the warning logs c) skip this environment and rely on tests elsewhere. I've chosen to do (c). I don't see a huge benefit in testing pdf.js across multiple environments if we aren't using it installed from the OS anyway. We could install from source but currently all the Qt < 6.5 tests are failing from some other JS error, and I think fixing that is out of scope of this issue. *docker Qt6*: installed - the archlinux pdfjs package works fine and we are only testing the most recent Qt versions because arch users are expected to stay up to date. *docker Qt5*: not installed - doesn't support JS features required by PDF.js. I guess we could install the legacy build from source here. I'm mostly worried about catching new breakages for this commit though *windows*: installed - we install pdf.js from source when making a release so it would be nice to do that in tests too. *macos*: not installed - the tests that were catching the breakages are end2end tests which we don't run on mac. And I think there was an error from the :versions tests here, don't remember. *bleeding edge*: installed - from source pdf.js tests fail on Qt < 6.5 with `Uncaught TypeError: Cannot read properties of null (reading 'mainContainer')` The `TestPDFJSVersion.test_real_file` unit tests currently fails because `version._pdfjs_version()` returns `unknown (bundled)`, not sure why. I think this is pre-existing and it also wasn't being run on CI.
8 dayslint: Add misc check for QTimer initializationtoofar
Since we added some sanity checking in usertypes.Timer() around QTBUG-124496 it would be convenient if there was a reminder for future timer users to use our Timer object instead. Here's one! It's looking for QTimer initialisations, we are still allowing QTimer.singleShot(), although that probably can hit the same issue. It uses an end-of-line anchor in the regex so you can put a comment (any comment) on the end of the line to ignore the check.
8 daysAdd Riverbank Computing as extra index for PyQt requirementsFlorian Bruhin
Easier fix instead of 6c4be8ef03bdcf09e86e14de02b8bd308e6e527b. Seems to get picked up just fine, and shouldn't hurt when it's not needed, as we don't use --pre. Thus, no development releases should be installed.
8 daysRevert "Try getting PyQt 6.7 from Riverbank server"Florian Bruhin
This reverts commit 6c4be8ef03bdcf09e86e14de02b8bd308e6e527b. Possibly easier solution in next commit.
8 daysTry getting PyQt 6.7 from Riverbank serverFlorian Bruhin
See https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html and https://github.com/pypi/support/issues/3949
2024-04-13Ignore DIR_APP_DICTIONARIES message in release smoke test tootoofar
We've already ignored this in the tests, it started showing up in the nightly builds a few days ago, only on macos for some reason.
2024-04-09Adjust changelog URLsFlorian Bruhin
2024-04-09Add backports.tarfile changelog linktoofar
It's a new externalised dependency of jaraco.context, doesn't seem to have a RTD site yet. ref: https://github.com/jaraco/jaraco.context/commit/e13fc7f2b379683c326153a3d6f4d2800f812fd0
2024-04-09Move webkit.http to webkit.httpheaderstoofar
flake8 got a new warning about a module name shadowing a builtin module: https://github.com/gforcada/flake8-builtins/pull/121 Probably would have been safe enough to ignore it. But I don't think moving it is that hard anyway. Hopefully I didn't miss anything!
2024-03-26importer: Stop using deprecated bs4 findAllFlorian Bruhin
Fails bleeding edge CI due to warnings
2024-03-25Add changelog URLstoofar
jaraco added some utility libraries they maintain to the keyring package that they also maintain. Also update changelog URLs to be consistent since they have a "skeleton" project which lays everything out and publishes all their projects the same. Should we be preferring GH or RTD links? idk
2024-03-25update importlib metadata changelog URLtoofar
See 2f3d0161f3b4c for the corresponding importlib_resources one. Also this I guess? I don't really understand it, everything seems happy. https://github.com/python/importlib_metadata/issues/459
2024-03-04Rename readme_renderer in changelog URLsFlorian Bruhin
2024-02-26Update lint etc for dependenciestoofar
The lint ones are: linters (pylint): qutebrowser/completion/completionwidget.py#L440 Consider using 'height = min(height, contents_height)' instead of unnecessary if block linters (pylint): qutebrowser/browser/webengine/webview.py#L241 Useless suppression of 'no-member' The no-member one might be due to this change: https://github.com/pylint-dev/pylint/issues/9246 For the importlib-resources one, I'm not sure why it's changed to be underscore instead of a dash now. But at least it's consistent across all the requirements files now! I feel like I've seem this in a previous dependancy update too (for a different package?) but I can't find that now.
2024-01-22Update changelog URLsFlorian Bruhin
2024-01-22Update changelog URLFlorian Bruhin
2023-12-04Upgrade changelog and changelog URLsFlorian Bruhin
2023-11-22pakjoy: 100% test coverageFlorian Bruhin
2023-11-22scripts: Keep coverage.xmlFlorian Bruhin
useful for tools showing coverage info in e.g. your editor
2023-11-19Update pytest summary problem matcher for colored outputtoofar
We think that at some point pytest added color codes to the summary output which broke these matcher regex. It looks like there is an issue about stripping color codes here: https://github.com/actions/runner/issues/2341 I've added wildcard (or no-space) elements instead of trying to match the color codes exactly (eg `\033\[31m` etc) because 1) that's not very readable 2) I was having trouble getting that to work with egrep. The goal is to match the target strings but not to match then later in the line as part of a test log or whatever. For the '= short test summary =' that should be pretty unique. For the ERROR|FAILED I reckon that could be a bit more common. I'm just matching with any mount of non-space characters because I reckon a space will crop up pretty early in any line where ERROR isn't the first work. I think this new matching will only apply to new or rebased PRs after it is landed. ref: https://github.com/qutebrowser/qutebrowser/issues/5390#issuecomment-1817503702
2023-10-17docker: Downgrade more Qt for QtWebKitFlorian Bruhin
2023-10-17tox: Make -qt5 explicit for docker buildsFlorian Bruhin
Not needed on CI for a reason I don't quite understand, but needed locally for things to run.
2023-10-17docker: Also downgrade qt5-translations for WebKitFlorian Bruhin
2023-10-17scripts: Fix typoFlorian Bruhin
2023-10-17scripts: Add more debugging infoFlorian Bruhin
2023-10-16Adjust diff_cover changelog nameFlorian Bruhin
2023-10-16Merge pull request #7958 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-10-11pylint 3.0 deprectationstoofar
Changelog: https://pylint.pycqa.org/en/latest/whatsnew/3/3.0/index.html#summary-release-highlights remove `__implements__`: That attribute is apparently from a rejected PEP. They say to inherit from BaseChecker, which we are already doing. https://github.com/pylint-dev/pylint/pull/8404 check_messages -> only_required_for_messages: Seems straightforward instructions. I haven't actually tested it. https://github.com/pylint-dev/pylint/pull/8409 remove emptystring extension: Looks like this has been replaced by https://pylint.readthedocs.io/en/stable/user_guide/messages/convention/use-implicit-booleaness-not-comparison-to-string.html Which is disabled by default but we have `enable=ALL`, so I guess that means we indeed have it enabled. And update changelog URLs.
2023-10-10docker: Also downgrade qt5-declarativeFlorian Bruhin
2023-10-10Update cffi changelogFlorian Bruhin
2023-09-11Adjust changelog URLs for new readme-rendererFlorian Bruhin
2023-08-17Remove old download_release.shFlorian Bruhin
Releases aren't hosted on qutebrowser.org anymore
2023-08-17Update releasing docsFlorian Bruhin
2023-08-17ci: Use -x for cherry picksFlorian Bruhin
2023-08-17scripts: Fix name for Windows installerFlorian Bruhin
Regressed in c2210539a9e2be1deacf8df8f432e035d9b9b9f0: The current NSIS installer still adds the suffix. Let's keep it there for now until we switch to the rewritten one. See #6050
2023-08-17scripts: Don't upload PGP signature to PyPIFlorian Bruhin
See https://blog.pypi.org/posts/2023-05-23-removing-pgp/
2023-08-17scripts: Fix artifact list on WindowsFlorian Bruhin
Regressed in c2210539a9e2be1deacf8df8f432e035d9b9b9f0: We don't want to return a list of lists.
2023-08-17scripts: Avoid inputs on CI when releasingFlorian Bruhin
2023-08-17ci: Set twine PyPI tokenFlorian Bruhin
2023-08-17scripts: Show more info when no release was foundFlorian Bruhin
2023-08-17ci: Set up asciidoc properly for releasesFlorian Bruhin
2023-08-17ci: More automatic release improvements/fixesFlorian Bruhin
2023-08-17ci: Initial automatic release supportFlorian Bruhin
See #3725
2023-08-15Merge remote-tracking branch 'origin/pr/7809'Florian Bruhin
2023-08-15ci: Use proper image for Qt 6 bleeding testsFlorian Bruhin
2023-08-15docker: Install xcb-utils-cursor on Arch for Qt 6Florian Bruhin
2023-08-13nsis: minimum OS version check for Qt6bitraid
The Qt docs for 6.5 say that the minimum supported version is Windows 10 1809. Experimentally it seems qutebrowser and it's dependencies work fine on a version as early 1607. There should be no change in OS version requirements for the Qt5 build, although we've dropped 32 bit support already and in a future version of the installer we may bring the minimum OS version support in line with the Qt6 requirements for simplicity too. Added a new QT5 version into the NSIS scripts so we can do the different version check per installer build. It just uses the python bool serialization format so should always be "True" or "False", but I've added a fallback anyway for consistency.
2023-08-12Merge remote-tracking branch 'upstream/main' into ↵toofar
feat/mac_sandbox_pre_release_pyinstaller Only conflict was the removal of support for 32bit builds in build_release.py
2023-08-11Rename :later to :cmd-laterPhilipp Albrecht
Group commands related to commands/commandline by prefixing them with `cmd-`.