From 70d8d67ffcbca7f5ba2b04d698c5515e82468a34 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Wed, 29 Jul 2026 19:45:07 -0400 Subject: [PATCH] Run external tests for FreeBSD (#2035) This requires aliasing `make` to `gmake` and `python` to `python3` --- .github/scripts/freebsd-env.sh | 11 +++++++++++ .github/scripts/install-deps.sh | 3 ++- .github/workflows/testing.yml | 4 +++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100755 .github/scripts/freebsd-env.sh diff --git a/.github/scripts/freebsd-env.sh b/.github/scripts/freebsd-env.sh new file mode 100755 index 00000000..1d5ca017 --- /dev/null +++ b/.github/scripts/freebsd-env.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +local_bin_dir="$PWD/.local/bin" + +mkdir -p "$local_bin_dir" + +# Alias `make` to `gmake` and `python` to `python3` for use by external tests. +ln -s "$(which gmake)" "$local_bin_dir/make" +ln -s "$(which python3)" "$local_bin_dir/python" + +export PATH="$local_bin_dir:$PATH" diff --git a/.github/scripts/install-deps.sh b/.github/scripts/install-deps.sh index 919de1a6..b8a9a025 100755 --- a/.github/scripts/install-deps.sh +++ b/.github/scripts/install-deps.sh @@ -58,7 +58,8 @@ case "${OS%%-*}" in printf 'PATH=%s\n' "$PATH" >>"$GITHUB_ENV" # Make it available to later CI steps too. ;; freebsd) - pkg install -y bash bison cmake git png + # GNU `gmake` and `gcc` are dependencies for most repos built by our external tests. + pkg install -y bash bison cmake git png gmake lang/gcc python3 py312-pillow ;; windows) # GitHub Actions' hosted runners ship CMake 3.x, but versions prior to 4.0.0 ignore `CPACK_PACKAGE_FILE_NAME`. diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 607a685b..c5ea91cb 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -395,12 +395,14 @@ jobs: GIT_CONFIG_COUNT GIT_CONFIG_KEY_0 GIT_CONFIG_VALUE_0 release: "15.1" usesh: true + copyback: false prepare: | .github/scripts/install-deps.sh freebsd run: | # Leak detection is not supported on FreeBSD, so disable it. cmake -B build --preset develop cmake --build build --verbose -- -k -j "$(getconf _NPROCESSORS_ONLN)" - ASAN_OPTIONS=detect_leaks=0 ctest --test-dir build --schedule-random --label-exclude external + . .github/scripts/freebsd-env.sh + ASAN_OPTIONS=detect_leaks=0 ctest --test-dir build --schedule-random cmake --install build --verbose type rgbasm rgblink rgbfix rgbgfx man -w 1 rgbasm rgblink rgbfix rgbgfx