From f966b2c66f799391d3856c21e5d679e09d9b7e75 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Sun, 15 Dec 2024 11:42:03 +0100 Subject: [PATCH] [ci,build] add workflow to build on FreeBSD --- .github/workflows/freebsd.yml | 32 ++++++++++++++++ ci/cmake-preloads/config-freebsd.txt | 56 ++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 .github/workflows/freebsd.yml create mode 100644 ci/cmake-preloads/config-freebsd.txt diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml new file mode 100644 index 000000000..426aac45c --- /dev/null +++ b/.github/workflows/freebsd.yml @@ -0,0 +1,32 @@ +name: '[freebsd] architecture builds' +on: + workflow_dispatch: + branches: [ master, stable* ] + schedule: + - cron: '30 5 * * SAT' + +jobs: + freebsd_job: + runs-on: ubuntu-latest + name: Build on FreeBSD + steps: + - uses: actions/checkout@v4 + - name: Test in FreeBSD + id: test + uses: vmactions/freebsd-vm@v1 + with: + usesh: true + prepare: | + pkg install -y cmake ninja krb5-devel libressl-devel json-c \ + libcjson fdk-aad libsoxr sdl2 sdl3 sdl2_ttf sdl2_image opus \ + png webp openjpeg libjpeg-turbo opensc v4l_compat libv4l uriparser \ + pkcs11-helper ffmpeg pulseaudio pcsc-lite cups + + run: | + cmake -GNinja \ + -C ci/cmake-preloads/config-freebsd.txt \ + -B ci-build \ + -S . \ + -DCMAKE_INSTALL_PREFIX=/tmp/ci-test \ + cmake --build ci-build --parallel $(nproc) --target install + cmake --build ci-build --parallel $(nproc) --target test diff --git a/ci/cmake-preloads/config-freebsd.txt b/ci/cmake-preloads/config-freebsd.txt new file mode 100644 index 000000000..4610e081f --- /dev/null +++ b/ci/cmake-preloads/config-freebsd.txt @@ -0,0 +1,56 @@ +message("PRELOADING cache") +set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "preload") +set(BUILD_TESTING_INTERNAL ON CACHE BOOL "preload") +set(WITH_MANPAGES ON CACHE BOOL "preload") +set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "preload") +set(WITH_PULSE ON CACHE BOOL "preload") +set(WITH_CHANNELS ON CACHE BOOL "preload") +set(WITH_CUPS ON CACHE BOOL "preload") +set(WITH_LIBRESSL ON CACHE BOOL "preload") +set(WITH_WAYLAND ON CACHE BOOL "preload") +set(WITH_KRB5 ON CACHE BOOL "preload") +set(WITH_PCSC ON CACHE BOOL "preload") +set(WITH_JPEG ON CACHE BOOL "preload") +set(WITH_GSM ON CACHE BOOL "preload") +set(CHANNEL_URBDRC ON CACHE BOOL "preload") +set(CHANNEL_URBDRC_CLIENT ON CACHE BOOL "preload") +set(WITH_SERVER ON CACHE BOOL "preload") +set(WITH_DEBUG_ALL OFF CACHE BOOL "preload") +set(WITH_DEBUG_CAPABILITIES OFF CACHE BOOL "preload") +set(WITH_DEBUG_CERTIFICATE OFF CACHE BOOL "preload") +set(WITH_DEBUG_CHANNELS OFF CACHE BOOL "preload") +set(WITH_DEBUG_CLIPRDR OFF CACHE BOOL "preload") +set(WITH_DEBUG_RDPGFX OFF CACHE BOOL "preload") +set(WITH_DEBUG_DVC OFF CACHE BOOL "preload") +set(WITH_DEBUG_KBD OFF CACHE BOOL "preload") +set(WITH_DEBUG_LICENSE OFF CACHE BOOL "preload") +set(WITH_DEBUG_NEGO OFF CACHE BOOL "preload") +set(WITH_DEBUG_NLA OFF CACHE BOOL "preload") +set(WITH_DEBUG_NTLM OFF CACHE BOOL "preload") +set(WITH_DEBUG_RAIL OFF CACHE BOOL "preload") +set(WITH_DEBUG_RDP OFF CACHE BOOL "preload") +set(WITH_DEBUG_RDPEI OFF CACHE BOOL "preload") +set(WITH_DEBUG_REDIR OFF CACHE BOOL "preload") +set(WITH_DEBUG_RDPDR OFF CACHE BOOL "preload") +set(WITH_DEBUG_RFX OFF CACHE BOOL "preload") +set(WITH_DEBUG_SCARD OFF CACHE BOOL "preload") +set(WITH_DEBUG_SND OFF CACHE BOOL "preload") +set(WITH_DEBUG_SVC OFF CACHE BOOL "preload") +set(WITH_DEBUG_THREADS OFF CACHE BOOL "preload") +set(WITH_DEBUG_TIMEZONE OFF CACHE BOOL "preload") +set(WITH_DEBUG_TRANSPORT OFF CACHE BOOL "preload") +set(WITH_DEBUG_TSG OFF CACHE BOOL "preload") +set(WITH_DEBUG_TSMF OFF CACHE BOOL "preload") +set(WITH_DEBUG_WND OFF CACHE BOOL "preload") +set(WITH_DEBUG_X11 OFF CACHE BOOL "preload") +set(WITH_DEBUG_X11_LOCAL_MOVESIZE OFF CACHE BOOL "preload") +set(WITH_DEBUG_XV OFF CACHE BOOL "preload") +set(WITH_SAMPLE ON CACHE BOOL "preload") +set(WITH_NO_UNDEFINED ON CACHE BOOL "preload") +set(WITH_SANITIZE_ADDRESS ON CACHE BOOL "preload") +set(WITH_FFMPEG ON CACHE BOOL "preload") +set(WITH_SWSCALE ON CACHE BOOL "preload") +set(WITH_DSP_FFMPEG ON CACHE BOOL "preload") +set(WITH_PROXY ON CACHE BOOL "preload") +set(WITH_PROXY_MODULES ON CACHE BOOL "preload") +set(WITH_FREERDP_DEPRECATED_COMMANDLINE ON CACHE BOOL "preload")