From 3f178dcf18fb371bcccb4cd2cb0dddd5acc6c6f0 Mon Sep 17 00:00:00 2001 From: Joshua Sing Date: Tue, 15 Oct 2024 18:54:14 +1100 Subject: [PATCH] ci: add freebsd workflow --- .github/workflows/freebsd.yml | 71 +++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/freebsd.yml diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml new file mode 100644 index 0000000000..0aa64d8d33 --- /dev/null +++ b/.github/workflows/freebsd.yml @@ -0,0 +1,71 @@ +# GitHub Actions workflow to run tests on a FreeBSD VM. +name: "FreeBSD" + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" # At 00:00 daily. + +concurrency: + group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" + cancel-in-progress: true + +env: + FREEBSD_VERSION: "14.1" + +jobs: + autoconf: + name: "autoconf" + runs-on: ubuntu-latest + if: github.repository_owner == 'libressl' || github.event_name != 'schedule' + permissions: + contents: read + steps: + - name: "Checkout repository" + uses: actions/checkout@v4 + + - name: "Setup" + run: | + sudo apt-get update + sudo apt-get install -y automake autoconf libtool + ./autogen.sh + + - name: "Build on VM" + uses: vmactions/freebsd-vm@v1 + with: + release: "${{ env.FREEBSD_VERSION }}" + copyback: false + prepare: | + pkg install -y autoconf automake libtool + run: | + ./configure + make -j2 check || (cat tests/test-suite.log && exit 1) + + cmake: + name: "cmake" + runs-on: ubuntu-latest + if: github.repository_owner == 'libressl' || github.event_name != 'schedule' + permissions: + contents: read + steps: + - name: "Checkout repository" + uses: actions/checkout@v4 + + - name: "Setup" + run: | + sudo apt-get update + sudo apt-get install -y automake autoconf libtool + ./autogen.sh + + - name: "Build on VM" + uses: vmactions/freebsd-vm@v1 + with: + release: "${{ env.FREEBSD_VERSION }}" + copyback: false + prepare: | + pkg install -y cmake ninja + run: | + export CTEST_OUTPUT_ON_FAILURE=1 + cmake -G Ninja -B build + ninja -C build + ninja -C build test