Commit Graph

44 Commits

Author SHA1 Message Date
Mariano Abad
510ac3b3a9 drm: move the drm CI out of the stock workflow, and stop touching scrap/Cargo.toml
The instruction was that nothing outside the feature should change while the
feature is off, and the runtime code honors that, but the build plumbing did not.
Start undoing that.

ci.yml goes back to upstream byte for byte. The drm test step it carried now lives
in a new workflow that only fires when a drm path changes, so a PR that does not
touch this backend pays nothing for it.

That new workflow also runs the whole rustdesk-crate test set with the feature on
rather than filtering by the `_drm` test names, because the name filter skipped
the sibling assertion that bounds `size_of::<Data>()`, which the new DmabufDesc
variant grows.

It gains a second job that fetches libdrmtap at the pinned commit, builds the .so
and then asserts the contract the runtime depends on: every symbol the loader
resolves, derived from the loader source so the two cannot drift, plus evidence
that the EGL detile path is really compiled in. libdrmtap degrades to a CPU-only
stub when the egl/glesv2 pkg-config files are absent on a build host, and nothing
downstream noticed. Note the check looks for the dlopen target name and the import
call, not for DT_NEEDED: EGL is loaded lazily on purpose so the privileged process
never links the vendor GL stack, so an ELF-level check reports a false negative on
a correct library.

libs/scrap/Cargo.toml keeps only the added feature: the unrelated blank line before
[dependencies.hwcodec] is restored, and the comment no longer describes DRMTAP_REF,
which no longer exists. The feature is now drm = ["wayland"] because all three drm
modules live inside the wayland arm of common/mod.rs, so scrap/drm alone compiled
nothing; it worked only because the root crate always enables scrap/wayland.
2026-07-28 06:32:17 -03:00
Mariano Abad
3c48568b1a ci: run the _drm unit tests on every PR (review 6)
The _drm unit tests are behind the opt-in drm feature, which the default workspace
test job does not build, so they would sit in the tree unrun -- no better than no
tests. Add a Linux step to the per-PR ci.yml that runs them with the feature on,
alongside the existing ipc/auth tests. drm is a pure runtime-dlopen backend with no
link-time deps (no libdrm/EGL/gbm) and the tests are pure userspace (socketpair
framing, SCM_RIGHTS, the peer-auth/admission decisions), so this needs no GPU and no
extra system packages. The main build/test stays on default features, so the shipped
drm-off config remains the primary verified one.
2026-07-24 08:50:17 -03:00
Dennis Ameling
8f50ea64dc Add Windows arm64 support (#15139)
* Add initial arm64 build logic

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Upgrade Flutter to 3.44.0 and introduce Windows arm64 in CI

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Bump bridge build to Flutter 3.44 as well

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Fix install flutter step for Win arm64

* Bump install-llvm-action to v2 for arm64 support

* Fix libsodium logic to only install through vcpkg on win arm64

* Fix Flutter installations on Win

* Flutter XCode: only build the current arch as it defaults to universal

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Ensure that we really have arm64 Dart + Flutter engine in CI

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Enable hwcodec feature now that upstream supports building it

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* CI: improve logic for getting Flutter arm64 SDK

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>

* Apply PR feedback (only bump Flutter version on Win arm64)

* Exclude MSI build on arm64

* CI: build the MSI for Windows arm64 (WiX v4 ARM64 platform + native CustomActions)

* Address PR feedback

* Update Cargo.toml

* Update Cargo.lock

* Update Cargo.lock

* Add Flutter 3.44 DialogThemeData background colors

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
Signed-off-by: 21pages <sunboeasy@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
Co-authored-by: 21pages <sunboeasy@gmail.com>
2026-06-18 22:37:15 +08:00
rustdesk
81e7d27ec8 pin more action 2026-05-26 19:03:03 +08:00
fufesou
656ce93d6e refact: ci, free disk space(Ubuntu) (#13900)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-12-25 17:10:49 +08:00
rustdesk
7d06de00fb 24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04
ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04
ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04 ubuntu24.04
ubuntu24.04 ubuntu24.04 ubuntu
2025-11-19 11:39:37 +08:00
21pages
6b2a1dfd84 update vcpkg, aom, vpx (#12795)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-09-01 15:35:27 +08:00
fufesou
bc1f629c17 fix: ci (#11504)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-19 21:24:44 +08:00
RustDesk
66a9882e30 22.04 runner 2025-04-18 22:34:10 +08:00
fufesou
36815e9a02 fix: build macos (#11448)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-12 12:39:05 +08:00
21pages
c44803f5b0 replace hbb_common with submodule (#10543)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-01-20 17:33:41 +08:00
21pages
b544a2889b update vcpkg to 2024.11.16 (#10272)
1. version changes:
* vcpkg: 2024.07.12 -> 2024.11.16
* aom (except linux sciter): 3.9.1 -> 3.11.0
* libvpx: 1.14.1 -> 1.15.0
* libyuv: not update because compiled failed on arm64, and didn't apply
  different version on different archs
* opus: already the latest version
* ffmpeg: 7.0.2 -> 7.1

2. other changes:
* android 5.0 required, otherwise crash when start, because FFmpeg 7.1 link to mediandk directly

3. Tests:
* Except arm, arm64, linux amf, ios, all the other codecs are tested
* Compile on arm32 linux is not tested, ci is failed before vcpkg
  install
* Tested windows FFmpeg qsv, still no memory leak

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-12-13 13:28:48 +08:00
Vasyl Gello
a72a8906b0 vcpkg deps (#8764)
* Revert "Revert vcpkg ffmpeg (#8751)"

This reverts commit 5c16a8302e.

* vcpkg: Reland ffmpeg and try to fix sciter build

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* vcpkg: Detect AVX2 by requiring __m256i

(ubuntu18.04 sciter)

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* Install nasm from debian buster and python3.7

... from ubuntu universe

[Skip CI]

* vcpkg: Add libyuv port with fix for windows

From
abc59feabf

Found by @deep-soft

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* Bump vcpkg baseline to 2024.07.12

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* Fix F-Droid version action

I thought the latest release will be updated by the time hook starts
but it is not the case. Get tag from GITHUB_REF instead if GITHUB_REF_TYPE
is "tag".

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-23 23:31:36 +08:00
21pages
5c16a8302e Revert vcpkg ffmpeg (#8751)
* Revert "fix linux ffmpeg link, still link ffmpeg in hwcodec (#8747)"

This reverts commit 48464835f5.

* Revert "fix linux armv7 ffmpeg arch, linux x64 sciter add hwcodec feature (#8744)"

This reverts commit b68d7a3054.

* Revert "arm linux remove cuda-llvm option (#8735)"

This reverts commit bc672b3367.

* Reapply "try fix arm64 linux ci and publish error log (#8730)" (#8732)

This reverts commit e283d33f28.

* Revert "try fix arm64 linux ci and publish error log (#8730)"

This reverts commit a4565bf0da.

* Revert "F-Droid: enable hwcodec for future builds (#8726)"

This reverts commit 188f85b042.

* Revert "remove unused vcpkg ffmpeg code (#8725)"

This reverts commit 72c96f22b6.

* Revert "install ffmpeg lib with vcpkg (#8724)"

This reverts commit 0143eaf601.

* update hwcodec to reverted

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 22:28:35 +08:00
21pages
0143eaf601 install ffmpeg lib with vcpkg (#8724)
* use vcpkg to install ffmpeg and build sdk from source, so no prebuild lib in hwcodec.
* link ffmpeg in rustdesk directly, ffmpeg can be used as basic library.
* for windows developers, `VCPKG_DEFAULT_HOST_TRIPLET` env need to be set to `x64-windows-static` during installation.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-16 15:10:24 +08:00
rustdesk
b0ff74c799 fix appimage 2024-05-05 16:44:59 +08:00
rustdesk
b5935eb4c5 fix ci 2024-05-03 16:12:36 +08:00
rustdesk
73b3023c2d do not run ci if update res/ 2024-05-03 14:37:01 +08:00
rustdesk
c3598b3513 fix ci 2024-05-03 02:57:24 +08:00
rustdesk
c81c4f9114 visual studio 2019 -> 2022 2024-04-20 18:20:09 +08:00
jxdv
b2deab08ab update checkout version (#6671) 2023-12-13 21:22:38 +08:00
deep-soft
b4b08db778 dtolnay/rust-toolchain 2023-11-23 16:47:54 +02:00
deep-soft
8b14cd5aea Update ci.yml 2023-11-23 16:39:53 +02:00
deep-soft
a2920578a1 Update ci.yml 2023-11-22 22:38:41 +02:00
Vasyl Gello
2d995826ad Globally drop yasm - libvpx should not need it
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-15 16:03:40 +02:00
Vasyl Gello
97aeee7172 Fix CI
* Drop third party lib repos
  * Now all vcpkg dependencies are declared in vcpkg.json
  * Implement vcpkg binary caching in Github Actions

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 08:31:14 +02:00
rustdesk
9a28bab5b2 try fix cargo test no space in ci 2023-07-24 15:31:36 +08:00
rustdesk
cfcfd127b2 remove tags for the other ci 2023-07-11 10:35:52 +08:00
21pages
836323c9f4 aom ci and README
Signed-off-by: 21pages <pages21@163.com>
2023-05-21 16:29:52 +08:00
21pages
abaa7adfa8 run ci tests
Signed-off-by: 21pages <pages21@163.com>
2023-05-18 09:57:00 +08:00
enforcer007
9873a2d700 Don't run github actions on ignored paths. 2023-02-22 10:54:16 +05:30
Kingtous
7bd0843bcd feat: add flutter nightly ci 2022-10-20 17:19:08 +08:00
dependabot[bot]
b57fcb1880 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:01 +00:00
rustdesk
5926892734 miss libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev; 2022-09-12 13:06:58 +08:00
rustdesk
ed58f0745b revert back to no flutter version 2022-09-12 12:50:51 +08:00
Kingtous
74b830159b add: ci dependencies 2022-08-01 14:56:13 +08:00
Kingtous
0e7975d39c fix: ci 2022-07-03 15:03:40 +08:00
Kingtous
967482aa78 fix: add ffigen 2022-05-25 14:41:37 +08:00
RustDesk
8f22273759 Update ci.yml 2021-10-21 10:00:53 +08:00
Tom Parker-Shemilt
55d21ab151 Just build the tests 2021-10-11 22:35:31 +01:00
Tom Parker-Shemilt
d25e17317d Skip tests for the moment 2021-10-11 22:09:13 +01:00
Tom Parker-Shemilt
7a7cca7e45 Add rust cache 2021-10-11 21:48:56 +01:00
Tom Parker-Shemilt
0ef4246360 Set vcpkg commit id 2021-10-11 21:40:06 +01:00
Tom Parker-Shemilt
686e495171 Initial CI setup 2021-10-11 21:36:45 +01:00