Commit Graph

212 Commits

Author SHA1 Message Date
Chocobo1
c075097acd Allow to run CI checks locally
Now the developer is able to run the checks easily and locally (by
following the instructions in nova3/README.md).

PR #23262.
2025-09-14 22:17:23 +08:00
xavier2k6
919520b4c3 GHA CI: Install NSIS via third party action on Windows
* Install `NSIS` via https://github.com/repolevedavaj/install-nsis
* `NSIS` is no longer installed on GitHub provided Runner Image as of `windows-2025`
* `NSIS: 3.10` was only available on `windows-2019 / windows-2022`
* We can use newer release now eg. `NSIS: 3.11`.

PR #23249.
2025-09-14 16:33:24 +08:00
Thomas (Tom) Piccirello
df9e2bb155 Run all WebUI CI checks regardless of failure
This fixes an annoyance I've hit with the WebUI CI checks. If the linter fails, the GH Action immediately exits before the formatter has run. This can mean fixing the lint error and pushing up a change, only for the GH Action to then fail due to the formatter check.
This PR makes it so that all checks always run, with the job still failing if any of the checks failed. It should allow for a quicker feedback loop. For an example, see #23199
GitHub Action docs: https://docs.github.com/en/actions/reference/workflows-and-actions/contexts#steps-context

PR #23198.
2025-09-13 01:53:10 +08:00
dependabot[bot]
463ac253fd GHA CI: Bump actions version
PR #23208.

---
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-07 16:11:02 +08:00
Chocobo1
becfd19e34 Enable full type checking on search engine
Now it utilize type stub for PySocks library and all search engine python code are properly
type checked.

Note that a `cast` is required because there isn't enough hints in PySocks to let the type
checker understand that the classes are supposed to be compatible.

PR #23183.
2025-08-31 22:10:30 +08:00
Chocobo1
0933ffd805 GHA CI: use preinstalled packages on macOS
This is to address the following error:
https://github.com/qbittorrent/qBittorrent/actions/runs/17323566048/job/49182687551?pr=23182#step:4:745
> Error: cmake was installed from the local/pinned tap
> but you are trying to install it from the homebrew/core tap.
> Formulae with the same name from different taps cannot be installed at the same time.

PR #23184.
2025-08-31 21:15:13 +08:00
Ryu481
fa3531dcb4 GHA CI: Disable the hardened runtime in the codesigning workflow for macOS
Currently the hardened runtime is enabled for code signing in the github workflow for macOS. However in this thread https://github.com/qbittorrent/qBittorrent/discussions/23041#discussioncomment-13969415 a user had a problem to open the nightly builds from github. Relevant part of the error:
```
Reason: tried: '/private/var/folders/y0/jmsflc717tn_tj2x9d1g3d9w0000gn/T/AppTranslocation/8B53E367-2E0C-42C1-A4D5-6787109EE46E/d/qbittorrent.app/Contents/Frameworks/QtWidgets.framework/Versions/A/QtWidgets' (code signature in '/private/var/folders/y0/jmsflc717tn_tj2x9d1g3d9w0000gn/T/AppTranslocation/8B53E367-2E0C-42C1-A4D5-6787109EE46E/d/qbittorrent.app/Contents/Frameworks/QtWidgets.framework/Versions/A/QtWidgets' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs), '/private/var/folders/y0/jmsflc717tn_tj2x9d1g3d9w0000gn/T/AppTranslocation/8B53E367-2E0C-42C1-A4D5-6787109EE46E/d/qbittorrent.app/Contents/Frameworks/QtWidgets.framework/Versions/
(terminated at launch; ignore backtrace)
```

Further investigation showed that when disabling the hardened runtime this won't occur any more. I haven't noticed this before because the error wouldn't occur when SIP (system integrity protection) is disabled and I have it disabled now.

PR #23058.
2025-08-09 17:59:18 +08:00
Chocobo1
378b8c78cb GHA CI: fix broken retry when packaging for macOS
Failed CI instance: https://github.com/qbittorrent/qBittorrent/actions/runs/16437290836/job/46449723244
Follow up bb1c02125b.

PR #23036.
2025-07-28 04:20:30 +08:00
Illustar0
bb1c02125b GHA CI: Add code signing to fix app launch crash on macOS
PR #23016.
2025-07-22 15:09:16 +08:00
Chocobo1
99d25eec71 Use proper capitalization for MSVC linker flags
The linker flags are case insensitive [1] but it would be better to use the proper capitalization [2].

[1] https://learn.microsoft.com/en-us/cpp/build/reference/linking?view=msvc-170#command-line
[2] https://learn.microsoft.com/en-us/cpp/build/reference/guard-enable-guard-checks?view=msvc-170

PR #22940.
2025-06-30 01:45:10 +08:00
xavier2k6
86e11d344f GHA CI: Bump pandoc to latest
* Bump `pandoc` to latest (3.7.0.2)
* Apply upstream suggestions

PR #22708.
2025-06-22 14:21:50 +08:00
xavier2k6
9b66693cb8 GHA CI: Bump dependencies
* Bumped `Qt` to `6.9.1` on macOS/Windows
* Bumped `Qt` to `6.9.1` & `Boost` to `1.88.0` on `coverity-scan`

PR #22839.
2025-06-14 21:17:19 +08:00
Chocobo1
50d60b9589 GHA CI: enforce sorted import in Python scripts
This main point is to normalize the sorting of imports in Python scripts.
Currently the default setting from isort is used: https://pycqa.github.io/isort/docs/configuration/custom_sections_and_ordering.html

PR #22793.
2025-05-31 18:01:02 +08:00
Chocobo1
2477e13b3f GHA CI: update zizmor rules ID
zizmor 1.7.0 has changed the ID.
https://docs.zizmor.sh/release-notes/#v170

PR #22684.
2025-05-13 00:36:31 +08:00
Vladimir Golovnev
33aaa867b5 Drop support of Qt 6.5
PR #22599.
2025-04-27 16:21:20 +03:00
xavier2k6
72e8b3272b GHA CI: Use Qt 6.9.0 on Windows and macOS
PR #22509.
2025-04-08 15:35:58 +08:00
Chocobo1
1b044d9476 GHA CI: shorten Windows CI build time
Now vcpkg caches b2 tool. Boost doesn't need the exact b2 version to generate the cmake files.
2025-03-01 16:12:59 +08:00
Chocobo1
83599f1f7b GHA CI: tweak cache size
It seems ~500MB is enough to cache all the build artifacts but we still
make it a bit larger to avoid thrashing.
2025-03-01 16:12:57 +08:00
Chocobo1
0ac47496d4 GHA CI: ensure compatibility with newer cmake versions
Fixes #22315.
PR #22320.
2025-02-25 14:08:09 +08:00
Chocobo1
4ec80de268 Update website URL
The website don't use php now.

PR #22321.
2025-02-25 14:03:30 +08:00
Chocobo1
955688c125 WebUI: replace rounding function from MooTools
The `round()` returning floating point number is not a good idea. This is due to floating point
representation is imprecise and sometimes it cannot faithfully represent a number, for example
`0.09 + 0.01 !== 0.1 `. Therefore, it should be avoided and/or utilize other function
to achieve the goal.

Also, improve `window.qBittorrent.Misc.toFixedPointString()` and add test cases.

PR #22281.
2025-02-17 15:11:55 +08:00
Chocobo1
ddf6dd5fa2 GHA CI: fix AppImage building
Upstream now defaults to static runtime and the previous URL is invalid now.
Upstream commits:
* c28054bab6
* ce5291e259

Also fuse2 is not needed now as stated on:
https://github.com/AppImage/type2-runtime?tab=readme-ov-file#type2-runtime-

PR #22286.
2025-02-16 05:08:39 +08:00
xavier2k6
f8469d02f7 GHA CI: Bump FORTIFY_SOURCE hardening flag to 3
PR #22248.
2025-02-08 17:00:10 +08:00
Chocobo1
dc10b88cec GHA CI: explicitly set C++20 mode for libtorrent
Bump Boost version. Boost::asio 1.76 has a bug that prevents compiling in C++20 mode.

PR #22245.
2025-02-08 16:30:36 +08:00
xavier2k6
463700b76d GHA CI: Bump libtorrent versions
PR #22217.
2025-02-03 09:07:35 +03:00
Chocobo1
3ef4d0d798 GHA CI: add checking for GHA workflows
PR #22200.

---------

Co-authored-by: userdocs <16525024+userdocs@users.noreply.github.com>
2025-01-26 03:44:59 +08:00
Chocobo1
4686d6709e GHA CI: show installed version
Before this change, it wasn't clear which exact version were installed.

PR #22155.
2025-01-13 17:24:08 +08:00
xavier2k6
45b7947cd0 GHA CI: Update Boost URL
The agreement between Boost & JFrog came to an end in December 2024.
Reference: https://github.com/boostorg/boost/issues/924

PR #22125.
2025-01-11 21:33:51 +08:00
xavier2k6
e2db0bc866 GHA CI: Update pandoc to latest
* Bumped `pandoc` -> 3.6

PR #22021.
2024-12-20 18:27:05 +08:00
Chocobo1
0a36171999 Sort grid items properly
Supersedes #21856.
2024-12-16 01:30:47 +08:00
Chocobo1
c887a6f7d8 GHA CI: add checks for grid items order
Now all items under `QGridLayout` are required to be sorted. This allow
us to omit tabstop order. The tabstop order will follow the layout order.

The script can be invoked to fix wrong grid items order in .ui files:
```console
python check_grid_items_order.py file.ui
```
2024-12-14 17:08:18 +08:00
Vladimir Golovnev
a47e1cdb48 Allow to choose color scheme on Windows
PR #21615.
2024-10-19 13:37:51 +03:00
Vladimir Golovnev
2d185dc1c7 Allow to choose Qt style
PR #21553.
2024-10-11 16:04:57 +03:00
xavier2k6
56a0692b68 GHA CI: Update pre-commit-config workflow
* Bumped numerous revisions
* Removed obsolete exclusions (files/folders were removed previously)
* Implement fix/workaround for "false positives" (typos/codespell)

PR #21460.
2024-10-06 16:49:30 +08:00
xavier2k6
dfa4eebbce GHA CI: Bump pandoc to latest version
PR #21458.
2024-10-06 16:41:38 +08:00
Chocobo1
6ed662c68b CI: turn on assertion checks
This turn on assertions from qbt codebase so that testers can verify the assertions really hold.

PR #21499.
2024-10-06 16:13:14 +08:00
xavier2k6
3888b465d8 Revise bug_report template
PR #21343.
2024-09-30 17:24:57 +08:00
xavier2k6
f09d43d073 GHA CI: Bump boost dependency
PR #21214.
2024-08-19 15:59:09 +08:00
Chocobo1
8b7fdf0f22 Bump Python version minimum requirement
The new minimum version is Python 3.9.

Debian Buster (oldoldstable) support ends at [2024.06.30](https://www.debian.org/releases/buster/).
Ubuntu Focal (20.04LTS) support ends at [2025.04](https://ubuntu.com/about/release-cycle).
By the time qbt v5.1 is released, Buster and Focal would have become EOL.

https://packages.debian.org/search?keywords=python3
https://packages.ubuntu.com/search?keywords=python3

PR #21064.
2024-07-17 12:13:58 +08:00
Chocobo1
610d5ef5ff GHA CI: use static versions of AppImage builder
It does not affect the produced artifacts. The only difference is the
tool itself won't depend on some specific OS image or library version.

PR #20983.
2024-06-25 13:11:32 +08:00
Chocobo1
d71086e400 Add type annotations
A few code are revised because the type checker (mypy) doesn't allow
changing types on a variable.

PR #20935.
2024-06-17 13:18:32 +08:00
dependabot[bot]
b9a1bbbb8a GHA CI: Bump Github Actions versions
PR #20913.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2024-06-04 14:15:44 +08:00
Chocobo1
04154ebb76 GHA CI: don't use hardcoded path
PR #20763.
2024-05-17 01:44:43 +08:00
xavier2k6
ddb0ff29e2 GHA CI: Use Qt 6.7.0 on Windows and macOS
PR #20431.
2024-04-22 15:21:16 +03:00
xavier2k6
6c57fad0cd GHA CI: Bump Boost version to 1.85.0
PR #20723.
2024-04-22 13:39:58 +08:00
Chocobo1
01cc4ea90b GHA CI: revise packaging failure detection
Fix up 1d221c22e4.
PR #20664.
2024-04-09 14:22:05 +08:00
dependabot[bot]
e4aad461c7 GHA CI: Bump Github Actions versions
PR #20652.

---

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 13:00:50 +08:00
Chocobo1
1d221c22e4 GHA CI: retry action on failure
PR #20641.
2024-04-01 19:59:26 +08:00
Chocobo1
2fe91a6c8f GHA CI: only store cache for master branch
Also set a lower cache limit for macOS to prevent cache thrashing. Previously the default was 5G.

PR #20640.
2024-04-01 19:36:45 +08:00
Chocobo1
47c38e8d91 Apply formatting 2024-03-23 13:55:58 +08:00