ci: Move FreeBSD CI from Cirrus CI to GitHub Actions

Cirrus CI shut down on 2026-06-01.  Replace it with
cross-platform-actions/action which runs FreeBSD in a QEMU VM on
GitHub Actions runners.  This preserves the same test matrix: FreeBSD
13.5 and 14.3 with both make and meson build systems.

Explicitly set shell to sh, since FreeBSD 13.x defaults to csh which
doesn't understand POSIX if/then/fi syntax.

Assisted-by: Claude:claude-opus-4-6
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
David Gibson 2026-06-13 14:56:12 +10:00
parent 3ad5ebbdd9
commit 23fd89bc8e
3 changed files with 77 additions and 39 deletions

View file

@ -144,3 +144,73 @@ jobs:
run: |
meson setup -Dtools=true -Dtests=false build
meson compile -C build
build-freebsd-make:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [ "13.5", "14.3" ]
name: FreeBSD ${{ matrix.version }} make build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Start VM
uses: cross-platform-actions/action@v1
with:
operating_system: freebsd
version: ${{ matrix.version }}
shell: sh
- name: Install Dependencies
shell: cpa.sh {0}
run: sudo ./scripts/install-deps.sh
- name: Build
shell: cpa.sh {0}
run: gmake
- name: Run check
shell: cpa.sh {0}
run: gmake check
build-freebsd-meson:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [ "13.5", "14.3" ]
name: FreeBSD ${{ matrix.version }} meson build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Start VM
uses: cross-platform-actions/action@v1
with:
operating_system: freebsd
version: ${{ matrix.version }}
shell: sh
- name: Install Dependencies
shell: cpa.sh {0}
run: sudo ./scripts/install-deps.sh
- name: Setup
shell: cpa.sh {0}
run: meson setup -D python=enabled -D yaml=enabled build
- name: Build
shell: cpa.sh {0}
run: meson compile -C build
- name: Run check
shell: cpa.sh {0}
run: if ! meson test -C build; then cat build/meson-logs/testlog.txt; false; fi