Commit Graph

229 Commits

Author SHA1 Message Date
Florian Bruhin 0c2a673e27 scripts: Clean up build_release 2025-10-24 15:06:20 +02:00
Florian Bruhin afa456f396 ci: Skip existing artifacts when reuploading
After a release failed and we want to retry,
some assets might already have been uploaded.

Skip those instead of attempting to reupload.
2025-10-24 14:53:40 +02:00
Florian Bruhin 0f320051e0 scripts: Ignore another line during smoke tests 2025-10-24 14:17:29 +02:00
Florian Bruhin da9bd515fd scripts: Update build-release ignores for Qt 6.10 2025-10-24 12:05:35 +02:00
Florian Bruhin 102f43cbde scripts: Ignore another stderr output on macOS 2025-05-06 14:08:00 +02:00
Florian Bruhin 9e70ffeaad Switch to legacy PDF.js build
The normal PDF.js build only officially supports the latest Chromium, so things
might break every once in a while with QtWebEngine (e.g. #8199, #7335).

Let's instead bundle and recommend the legacy build.

Closes #8332
Closes #7721 (reworded)
Also see #7135
2024-12-10 11:47:39 +01:00
Florian Bruhin ffe7d00a62 Merge branch 'drop-py38' 2024-10-15 11:58:54 +02:00
Florian Bruhin 97104b2000 Use builtin list/dict/set/... types for annotations
See https://peps.python.org/pep-0585/
and https://docs.python.org/3/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

Done via:

    ruff check --select 'UP006' --fix --config 'target-version = "py39"' --unsafe-fixes

followed by removing unused imports:

    ruff check --select 'F401' --fix --config 'target-version = "py39"'

and a semi-manual review to find imports that are still needed (but ruff doesn't know about yet):

    git diff | grep '^-' | grep import | grep -v "from typing"

Also see #7098.
2024-10-15 11:54:49 +02:00
Florian Bruhin c32b8090ca Import typing classes from collections.abc
See https://peps.python.org/pep-0585/
and https://docs.python.org/3/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

Not changing List/Dict/Set/etc. in this commit, as that's a way bigger change.

Done via:

    ruff check --select 'UP035' --fix --config 'target-version = "py39"'

Also see #7098.
2024-10-15 11:54:35 +02:00
toofar d24a4c5ab0 Remove Qt5 switches from release building scripts etc
I just searched for qt5 and deleted stuff. EZ.
Will leave on a branch for a bit and see if I feel like testing this at
all, otherwise maybe leave this stuff in here and make it not called.

Not 100% sure that we need to remove all this stuff when we just want
the CI to go green. But tbh if we don't need to make Qt5 releases then
we don't need it. Better to be bold and pull it out than have to work
around it in the future. And we can always revert the commit.
2024-10-05 13:55:15 +13:00
Florian Bruhin 3eeeaa5b48 scripts: Push to experimental repo if on experiments CI 2024-06-11 23:06:59 +02:00
Florian Bruhin 27164d0d6e Build separate Apple Silicon release
With GitHub Actions now providing macOS 14 runners with M1 chips, we can
build a separate Apple Silicon release there and upload it.

Universal wheels are currently not possible, see #8229 for details.

Closes #6478
2024-06-11 23:01:47 +02:00
toofar 4e38b3e8df Ignore DIR_APP_DICTIONARIES message in release smoke test too
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-13 16:38:00 +12:00
Florian Bruhin 60bb247f0d scripts: Fix name for Windows installer
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-17 12:41:35 +02:00
Florian Bruhin ae150d3a97 scripts: Don't upload PGP signature to PyPI
See https://blog.pypi.org/posts/2023-05-23-removing-pgp/
2023-08-17 12:41:35 +02:00
Florian Bruhin 680a941e64 scripts: Fix artifact list on Windows
Regressed in c2210539a9e2be1deacf8df8f432e035d9b9b9f0:
We don't want to return a list of lists.
2023-08-17 12:40:24 +02:00
Florian Bruhin 66f654b95c scripts: Avoid inputs on CI when releasing 2023-08-17 12:39:00 +02:00
Florian Bruhin a59bf7bc5b ci: Set twine PyPI token 2023-08-17 12:39:00 +02:00
Florian Bruhin 0e07d3b7b6 scripts: Show more info when no release was found 2023-08-17 12:39:00 +02:00
Florian Bruhin ab820fe8a0 ci: Set up asciidoc properly for releases 2023-08-17 12:39:00 +02:00
Florian Bruhin 950d06ad5b ci: Initial automatic release support
See #3725
2023-08-17 12:35:53 +02:00
Florian Bruhin 3fd8e12949 Merge remote-tracking branch 'origin/pr/7809' 2023-08-15 20:04:30 +02:00
bitraid f903ae4985 nsis: minimum OS version check for Qt6
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-13 15:14:24 +12: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
Philipp Albrecht 80b4d2f243 Rename :later to :cmd-later
Group commands related to commands/commandline by prefixing them with `cmd-`.
2023-08-11 09:02:01 +02:00
toofar d084df8e3b Remove macOS exception for "sandbox disabled" error message 2023-08-05 17:03:50 +12:00
toofar c2092640e7 Remove local re-signing of macOS build.
Now that we aren't patching the build we shouldn't have to try to
re-sign in.
2023-08-05 17:03:50 +12:00
toofar 693e391410 Remove local patching/symlinking of macOS build.
In the past various workarounds have been put in place to move/copy/symlink
files in the macOS app build to make PyQt work and let us sign it.

As of https://github.com/pyinstaller/pyinstaller/pull/7619 our downstream
patching should not be required.

The application seems to run fine.
The app size is 155 MB.
Signing is still to be verified.
2023-07-30 14:53:06 +12: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
Florian Bruhin 6d84462d68 scripts: Fix broken condition
Broken in ffc06e58d6
2023-07-25 11:00:33 +02:00
Florian Bruhin 0718b25796 reuse: Initial copyright text update for myself
git ls-files | \
    xargs sed -Ei 's/Copyright [0-9]{4}(-[0-9]{4}) Florian Bruhin \(The Compiler\) <mail@qutebrowser\.org>/SPDX-FileCopyrightText: Florian Bruhin (The Compiler) <mail@qutebrowser.org>/'
2023-07-23 12:49:05 +02:00
Florian Bruhin b2aaba6043 reuse: Adjust most license headers
git ls-files | xargs grep -l "is free software"  | xargs reuse annotate --license="GPL-3.0-or-later" --skip-unrecognised
2023-07-23 12:11:07 +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
Philipp Albrecht d9e8b638bf Remove vim modelines
We're deprecating vim modelines in favor of `.editorconfig`.

Removing vim modelines could be done using two one-liners. Most of the vim modelines
were followed by an empty line, so this one-liner took care of these ones:

```sh
rg '^# vim: .+\n\n' -l | xargs sed -i '/^# vim: /,+1d'
```

Then some of the vim modelines were followed by a pylint configuration line, so running
this one-liner afterwards took care of that:

```sh
rg '^# vim:' -l | xargs sed -i '/^# vim: /d'
```
2023-06-30 11:03:06 +02:00
Florian Bruhin 293a993b6b build_release: Also ignore GpuChannelMsg_CreateCommandBuffer for Qt 5
Looks like we have some failing smoke tests with:

[6636:16643:0329/041427.206197:ERROR:command_buffer_proxy_impl.cc(141)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
2023-03-29 10:28:30 +02:00
Florian Bruhin 4793070db3 Merge branch 'qt6-v2' into master-qt6 2023-03-17 20:30:13 +01:00
toofar ff8dbc4580 lint: broad-exception-raised
Mostly pretty lazy fixes. Most of the places in the tests we were
already matching on error message, a couple of places we weren't. The
tick-tock one was the only one that wasn't being used right where it was
raised.

Some of them I just changed to RuntimeError because it was shorter than
adding the pylint directive.
2023-02-06 18:53:56 +13:00
Florian Bruhin f4f5ca2663 Fix missing raw string prefix 2023-01-29 15:43:08 +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 5ea48c6e78 scripts: Ignore CreateCommandBuffer warning for release smoketest 2022-12-16 21:05:35 +01:00
Florian Bruhin b4d32e04f4 Merge branch 'master' into qt6-v2 2022-12-13 09:05:32 +01:00
Florian Bruhin af176f749f scripts: Use pip-installed asciidoc
Fixes #7352, closes #6793
2022-12-12 11:06:28 +01:00
Florian Bruhin 03e383a18f build-release: Add suffixes for Qt 6 2022-08-23 18:31:42 +02:00
Florian Bruhin 8c8f05d538 build-release: Make whitelist more fine-grained 2022-08-23 18:31:42 +02:00
Florian Bruhin b4b5c1d755 build-release: Reenable partial macOS symlinking
See #7252
2022-08-23 18:31:42 +02:00
Florian Bruhin 7f4f072629 build-release: Ignore sandboxing disabled message
See #7278
2022-08-23 18:31:42 +02:00
Florian Bruhin e956e7b8c7 build-release: Ignore new macOS warnings temporarily
See #7255 and #7256
2022-08-23 18:31:42 +02:00
Florian Bruhin 6ff6ce23e5 pyinstaller: Disable symlink patching for now
See #7252
2022-08-23 18:31:42 +02:00
Florian Bruhin c0ffd6d327 scripts: Pass through Qt 6 to PyInstaller 2022-08-23 18:31:41 +02:00
Florian Bruhin a5a824f234 scripts: Initial Qt 6 support for build_release.py 2022-08-23 18:31:41 +02:00