ci: add FreeRDP3 DLL packaging step to build workflow

Add a placeholder step in the build-release workflow to download and
package FreeRDP3 DLLs (libfreerdp3.dll, libwinpr3.dll,
libfreerdp-client3.dll) alongside wraith.exe. The step is currently
commented out pending a reliable DLL source URL; the app gracefully
falls back to MockBackend when the DLLs are absent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vantz Stockwell 2026-03-17 07:43:38 -04:00
parent a8974da37d
commit 521ce2fa21

View File

@ -96,6 +96,44 @@ jobs:
ls -la dist/wraith.exe
# ---------------------------------------------------------------
# FreeRDP3 DLLs — runtime dependency for the real RDP backend
# ---------------------------------------------------------------
- name: Download FreeRDP3 DLLs
run: |
echo "=== Downloading FreeRDP3 pre-built DLLs for Windows amd64 ==="
FREERDP_VERSION="3.12.0"
# FreeRDP releases pre-built Windows binaries on GitHub.
# We need: libfreerdp3.dll, libwinpr3.dll, libfreerdp-client3.dll
#
# Option 1: Download from FreeRDP GitHub releases
# curl -sSL -o /tmp/freerdp.zip \
# "https://github.com/FreeRDP/FreeRDP/releases/download/${FREERDP_VERSION}/FreeRDP-${FREERDP_VERSION}-win64.zip"
# unzip /tmp/freerdp.zip -d /tmp/freerdp
# cp /tmp/freerdp/bin/libfreerdp3.dll dist/
# cp /tmp/freerdp/bin/libwinpr3.dll dist/
# cp /tmp/freerdp/bin/libfreerdp-client3.dll dist/
#
# Option 2: Build from source with cmake + MSVC cross-compiler
# For the initial CI run, the app will fall back to MockBackend
# until the DLLs are provided alongside wraith.exe.
echo "FreeRDP3 DLLs not yet configured — app will use mock RDP backend"
echo "To enable real RDP: place libfreerdp3.dll, libwinpr3.dll, libfreerdp-client3.dll alongside wraith.exe"
# When DLLs are available, sign them alongside wraith.exe:
# for dll in dist/lib*.dll; do
# java -jar /usr/local/bin/jsign.jar \
# --storetype AZUREKEYVAULT \
# --keystore "${{ secrets.AZURE_KEY_VAULT_URL }}" \
# --storepass "${{ steps.azure-token.outputs.token }}" \
# --alias "${{ secrets.AZURE_CERT_NAME }}" \
# --tsaurl http://timestamp.digicert.com \
# --tsmode RFC3161 \
# "$dll"
# done
# ---------------------------------------------------------------
# Code signing — jsign + Azure Key Vault
# ---------------------------------------------------------------