Files
rustdesk-yowie/.gitea/workflows/build.yml
T
alex 3783082600
Build patched rustdesk.exe / Build Win x64 (Sciter UI) (push) Failing after 4m17s
ci: fix CARGO_BIN path (sed mangled it)
2026-05-02 22:08:33 +10:00

95 lines
3.4 KiB
YAML

# Yowie IT - RustDesk patched-binary build pipeline
# =====================================================================
# Builds the Sciter-UI rustdesk.exe with our get_cursor() patch for
# upstream issue #672 (always emit cursor data on Windows endpoints
# regardless of physical mouse presence).
#
# Self-hosted Windows runner: yowie-admin-pc.
# Toolchain version pins match upstream rustdesk CI (LLVM 16.0.0, vcpkg
# at 120deac3, Rust stable).
name: Build patched rustdesk.exe
on:
push:
branches: [yowie-master]
workflow_dispatch:
env:
LLVM_VERSION: "16.0.0"
VCPKG_COMMIT_ID: "120deac3062162151622ca4860575a33844ba10b"
CARGO_BIN: 'C:\Users\Yowie\.cargo\bin'
jobs:
build:
name: Build Win x64 (Sciter UI)
runs-on: windows-x64
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
submodules: recursive
- name: Verify Rust toolchain
shell: powershell
run: |
& "$env:CARGO_BIN\rustc.exe" --version
& "$env:CARGO_BIN\cargo.exe" --version
- name: Setup LLVM 16 (matches upstream rustdesk CI)
shell: powershell
run: |
if (-not (Test-Path 'C:\LLVM16\bin\libclang.dll')) {
$url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$env:LLVM_VERSION/LLVM-$env:LLVM_VERSION-win64.exe"
$dst = "$env:TEMP\llvm-$env:LLVM_VERSION.exe"
Write-Output "downloading $url"
Invoke-WebRequest -Uri $url -OutFile $dst -UseBasicParsing -TimeoutSec 600
Write-Output "installing to C:\LLVM16"
Start-Process -FilePath $dst -ArgumentList '/S','/D=C:\LLVM16' -Wait
if (-not (Test-Path 'C:\LLVM16\bin\libclang.dll')) { throw "LLVM 16 install failed" }
}
echo "LIBCLANG_PATH=C:\LLVM16\bin" >> $env:GITHUB_ENV
echo "C:\LLVM16\bin" >> $env:GITHUB_PATH
- name: Setup vcpkg pinned commit
shell: powershell
run: |
if (-not (Test-Path 'C:\vcpkg\vcpkg.exe')) {
git clone https://github.com/microsoft/vcpkg.git C:\vcpkg
}
Push-Location C:\vcpkg
git fetch --depth=200 origin $env:VCPKG_COMMIT_ID
git checkout $env:VCPKG_COMMIT_ID
.\bootstrap-vcpkg.bat -disableMetrics
Pop-Location
echo "VCPKG_ROOT=C:\vcpkg" >> $env:GITHUB_ENV
echo "C:\vcpkg" >> $env:GITHUB_PATH
- name: Install vcpkg native deps
shell: powershell
run: |
C:\vcpkg\vcpkg.exe install --triplet x64-windows-static libvpx libyuv opus aom libjpeg-turbo
- name: cargo build --release (Sciter UI)
shell: powershell
run: |
& "$env:CARGO_BIN\cargo.exe" build --release --no-default-features --features inline
- name: Verify binary + patch marker
shell: powershell
run: |
$exe = "target\release\rustdesk.exe"
if (-not (Test-Path $exe)) { throw "rustdesk.exe not produced" }
$size = (Get-Item $exe).Length
Write-Output "rustdesk.exe size: $size bytes"
if (-not (Select-String -Path "src\platform\windows.rs" -Pattern "Yowie IT MSP fork" -Quiet)) {
throw "patch marker missing from src\platform\windows.rs"
}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: rustdesk-yowie-windows-x64
path: target/release/rustdesk.exe
retention-days: 30