Commit Graph

58 Commits

Author SHA1 Message Date
Charles Kerr b9d1b33939
build: use esbuild to bundle the web app (#6280) 2023-11-27 19:23:40 -06:00
Charles Kerr 036725df42
refactor: prefer css vars over sass (#6287)
* chore: prefer calc() over sass math module

* chore: remove unused mixins

* refactor: use css variables for symbolic color names

* refactor: use range syntax for media queries

* refactor: use css variables for symbolic dimensions, units

* refactor: use css variables for symbolic url names

* refactor: use css variables for mime icon urls

* fixup! refactor: use css variables for symbolic dimensions, units

* refactor: replace mime-icon mixin with css variables

* ci: run apt-update before apt-install
2023-11-24 11:01:00 -06:00
Julien 69ab6a07de
chore: automated copyright update with GitHub Actions (#6195) 2023-11-10 14:24:16 -06:00
FX Coudert 9cadcbdb86
ci: update workflow to Qt 6 on macOS (#6206)
* Remove brew lines on Linux

* Switch to Qt 6 on macOS
2023-11-04 14:17:45 -05:00
Charles Kerr 089c438512
ci: bump macos-11 to macos-12 in github actions (#6203) 2023-11-04 12:33:25 -05:00
Mike Gelfand c0ee65578c
Bump 3rd-party deps versions used on Windows (#6192) 2023-11-01 15:09:45 +03:00
Dzmitry Neviadomski d273e0f90e
chore: fix warnings in CodeQL workflow (#6106)
- Use separate init config for JavaScript.
 - Update checkout action to v3 for node16 support.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-10-14 21:05:30 -05:00
Mike Gelfand 586cff9506
Switch to list view for torrents list (GTK 4) (#5858)
* Add compat operator* for RefPtr

* Rename `*_tree_view_*` button handling helpers to `*_item_view_*`

* Move torrent item colors to CSS

* Switch to list view for torrents list (GTK 4)

* Bump Fedora image to 39 (current rawhide) for GTK 4.11

Enable deprecations as there're lots of them in 4.11 and I'm not keen on
fixing them all right now. Disable warnings as errors due to
-Warray-bounds issue somewhere in libfmt.
2023-08-06 04:26:29 +01:00
tearfur ec0567e09f
fix: fix ci web cmake option (#5835) 2023-07-29 10:24:13 -05:00
Dzmitry Neviadomski dae1bb123c
fix: CI: Do not use nproc on macOS hosts. (#5833)
This is not an error, but a warning when building/running tests
with CMake/GoogleTest.
Use `sysctl -n hw.logicalcpu` to get parallelization number.

See: https://github.com/memkind/memkind/issues/33#issuecomment-540614162

No changes affecting users, so no `Notes:` here.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-07-29 08:21:30 -05:00
Charles Kerr ed3f6c2ec8
fixup! perf: use small::max_size_vector in tr_torrentGetMetadataPiece (#5830)
* fixup! perf: use small::max_size_vector in tr_torrentGetMetadataPiece() (#5768)

* enable tests for alpine CI

---------

Co-authored-by: tearfur <46261767+tearfur@users.noreply.github.com>
2023-07-28 09:53:10 -05:00
Charles Kerr c8e84f870b
ci: remove "brew update" step (#5606) 2023-06-11 16:28:43 -05:00
Charles Kerr 15c3298211
ci: do not install homebrew libnatpmp on macos 11 (#5461) 2023-04-26 22:10:42 -05:00
Mike Gelfand ac4a793816
Uninstall preinstalled OpenSSL on Windows GHA builder (#5376) 2023-04-12 20:55:49 +01:00
Charles Kerr 74262a65c2
ci: fix Sanity/Windows GitHub Actions (#5371) 2023-04-11 18:16:16 -05:00
Charles Kerr 58ce7bd437
fix: 4.0.2 wishlist CPU perf regression pt. 1 (#5266) 2023-03-20 21:08:16 -05:00
Charles Kerr f5a24862db
fix: FTBFS in Ubuntu 20.04 / Qt 5.13 (#5238) 2023-03-16 18:59:31 -05:00
Charles Kerr b354337720
ci: check for clang tidy errors in libtransmission (#5188) 2023-03-10 00:23:22 -06:00
Mike Gelfand 1f1e614f99
Use bundled deps for GHA build from tarball on Mac (#5126) 2023-03-03 03:30:43 +00:00
Gary Elshaw 13ae244eed
docs: warn users about bannable actions in the issue template (#5059) 2023-02-26 21:42:53 -06:00
Mike Gelfand c5b1df0daa
Support in-source builds (#4955)
* Support in-source builds

Don't copy third-party directories into themselves (actually, don't copy
them at all) by switching from `URL` to `SOURCE_DIR`. Separate build,
source, and install directories for third-party libraries.

* Trigger builds on changes to cmake/

That directory contains TrMacros.cmake which influences build logic in
other places.
2023-02-19 16:10:25 +00:00
Mike Gelfand 605c6bd031
Store percents as integer, with 2 digits of precision (#4933)
* Store percents as integer, with 2 digits of precision

* Fix GHA builds for Mac (missing pkg-config)

* Fix percents formatting
2023-02-18 01:14:01 +00:00
Thomas Weißschuh 4dc836f330
tests: expose libtransmission gtests to ctest (#4731) 2023-02-11 11:27:36 -06:00
Berbe 065facc07c
fix: Prevent lengthy compilation workflows to run needlessly (#4804) 2023-02-10 18:51:37 -06:00
Mike Gelfand 44546674d9
Include libb64 and libutp as subprojects (#4762)
* Include libb64 and libutp as subprojects

* Build 3rd-party subprojects before CodeQL analysis
2023-02-09 19:12:25 +00:00
Charles Kerr 23bb8fa32e
fix: detect NPM version for ENABLE_WEB in cmake (#4669) 2023-01-25 22:17:24 -06:00
Charles Kerr f24368efb7
build: add webapp github actions (#4658) 2023-01-25 13:22:11 -06:00
Charles Kerr 49b7478121 fixup! build: minor ci cleanup (#4652)
fix: github action oops in brew update
2023-01-24 15:52:59 -06:00
Charles Kerr b055b98d0f
build: minor ci cleanup (#4652)
* chore: show js webpack stats when building

* chore: use npm ci for code_style to avoid overwriting package-lock.json

* chore: add brew-update to macos ci

* remove webpack-dev-server from deps
2023-01-24 01:02:48 -06:00
Charles Kerr 5fe95ad5b0
fix: out-of-tree build (#4641)
- in cmake, add transmission-web build target

- in cmake, test for `npm` if we're building transmission-web

- add npm to CI install deps; build transmission-web as needed
2023-01-23 15:59:41 -06:00
Charles Kerr e3a577c2d8
chore: pin brew libpsl to 0.21.1 (#4640)
temporary workaround for Homebrew/homebrew-core/issues/121081
2023-01-23 10:38:18 -06:00
progiv 72b6ae0378
Fix GitHub CI actions warning for set-output (#4564)
Closes #4478
2023-01-08 17:49:15 -06:00
Charles Kerr cf8bd14403
test: GH Action should only try pack-msi if making dist or qt (#4563)
* test: only use pack-ms iff making dist or qt

* Update .github/workflows/actions.yml

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2023-01-08 16:34:59 -06:00
Gary Elshaw 84566d42f0
Update qt cmakelists to include support for building svg (#4437) 2022-12-27 17:18:51 +00:00
Charles Kerr bc61565af7
build: fix utils tests on win32 (#4422)
tests depend on utils, so if we unconditionally enable tests we need to do the same for utils
2022-12-20 12:27:02 -06:00
Mike Gelfand 67c4e4081c
Add `ENABLE_WERROR` option for use on CI (#4381)
Defaults to `OFF`. Downstream packagers are advised against enabling it
as we can't guarantee it working on every possible configuration.

Added the actual compile flag in the GTK client subdirectory and not
the top-level CMakeLists.txt file due to other subprojects not being
ready.

Fixed the only GTK client warning reported by Clang on Mac.
2022-12-16 22:38:30 +00:00
Mike Gelfand a937dfc897
Don't include MSVC redist MSM in Windows MSI package (#4339)
* Create Windows MSI package as part of GHA sanity build

* Don't include MSVC redist MSM in Windows MSI package

This approach is deprecated, and was probably never entirely correct to
begin with.
2022-12-09 12:30:43 +00:00
Mike Gelfand 26a8c17187
Use proper working directory (fixup #4337) 2022-12-08 22:48:35 +00:00
Mike Gelfand 32cc726e7d
Detect changes against branch off point, not origin/main (#4337) 2022-12-08 22:41:28 +00:00
Dmitry Antipov bf6c80ae35
refactor, ci: switch clang-format to LLVM 15 (#4297)
Bump required clang-format version to 15
2022-12-02 09:57:50 -06:00
Mike Gelfand 735ea201ea
Fix step id used in what-to-make outputs 2022-11-28 21:09:18 +00:00
Mike Gelfand d91b5ca674
Make "Check State" step of what-to-make job verbose for debugging 2022-11-28 21:00:34 +00:00
Mike Gelfand b2343082b4
Add Windows configuration to GHA sanity builds (#4200) 2022-11-26 16:14:37 +00:00
Mike Gelfand 9e185a17f2
Fix default/minimum `CMAKE_OSX_DEPLOYMENT_TARGET` handling (#4156)
* Fix default/minimum `CMAKE_OSX_DEPLOYMENT_TARGET` handling

* Drop explicit `CMAKE_OSX_DEPLOYMENT_TARGET` in GHA CI

Rely on minimum set in top-level CMakeLists.txt instead.
2022-11-13 12:02:07 +00:00
Kevin Stubbings 55be67b2e6
Add CodeQL workflow (#4125)
* Add CodeQL workflow

* Improve CodeQL setup

Install proper packages to enable GTK and Qt client builds.
Exclude 3rd-party dependencies from analysis (they should be analyzed
separately in their own repositories).
Speed C++ analysis up by building with Ninja.
Speed JavaScript analysis up by skipping CMake configuration and build,
which is not required for interpreted languages.

* Revert unintentional branch specification change

* Exclude generated JavaScript files from CodeQL analysis

Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2022-11-12 19:26:06 +00:00
Mike Gelfand dd4dce36a4
Downgrade Fedora image used in GitHub Actions CI to 36 (#4070)
37 is still "rawhide" and it starts to pull in packages from 38 making
things weird.
2022-11-02 03:15:31 +00:00
A Cœur f5ab3db978
chore: add ISSUE_TEMPLATE (#3923) 2022-10-10 17:08:22 -05:00
Mike Gelfand b0de4b7a89
Add build job based on Fedora 37 (#3921)
This allows to test against GTK 4 and Qt 6.

Changes to CMakeLists.txt files are non-functional and are meant to
trigger the components rebuild, nothing more.
2022-10-09 12:13:02 +03:00
Charles Kerr 988d8ff9ac
test: possibly fix rename-test flakes (#3653)
* test: possibly fix rename-test flakes

* ci: add gettext-dev to alpine workflow

* ci: make utils if tests change, since transmission-show is needed

* ci: add linux-headers to alpine workflow
2022-08-16 17:47:02 -05:00
Charles Kerr 63eab54fd5
refactor: timer pt 2 (#3617)
* feat: add convenience variants of TimerMaker::create()

* refactor: use libtransmission::Timer in peer-mgr

* refactor: use libtransmission::Timer in peer-msgs

* refactor: use libtransmission::Timer in tr-utp

* refactor: use libtransmission::Timer in tr-dht

* refactor: use libtransmission::Timer in port-forwarding

* refactor: use libtransmission::Timer in webseed

* refactor: use libtransmission::Timer in tr-lpd

* refactor: use libtransmission::Timer in rpc-server

* chore: remove unused function tr_timerAdd()

* chore: remove unused function tr_gettimeofday()

* fixup! chore: remove unused function tr_timerAdd()

* fixup! refactor: use libtransmission::Timer in port-forwarding
2022-08-11 12:28:37 -05:00