From 1f00820e288bdf2e5e9b6b644849b839485451af Mon Sep 17 00:00:00 2001 From: neilpang Date: Fri, 4 Sep 2026 20:17:37 +0800 Subject: [PATCH] Add a FreeBSD job on GitHub Actions to replace the retired Cirrus CI task --- .github/workflows/build_freebsd.yml | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/build_freebsd.yml diff --git a/.github/workflows/build_freebsd.yml b/.github/workflows/build_freebsd.yml new file mode 100644 index 0000000..497393d --- /dev/null +++ b/.github/workflows/build_freebsd.yml @@ -0,0 +1,31 @@ +name: FreeBSD + +on: [push, pull_request] + +jobs: + + freebsd: + name: FreeBSD 14 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v7 + - name: Build and test + uses: vmactions/freebsd-vm@v1 + with: + release: '14' + usesh: true + copyback: false + cache-after-prepare: true + prepare: pkg install -y cmake + run: | + set -e + set -u + set -x + # Same as .cirrus.yml did: the suite must not run as root, or the + # permission tests never see the errors they check for. + pw groupadd testgrp + pw useradd testuser -g testgrp -w none -m + chown -R testuser:testgrp . + wd=$(pwd) + su -l testuser -c "cd $wd && sh .ci/unix-build.sh" + su -l testuser -c "cd $wd && sh .ci/unix-test.sh"