Commit 06b14b8988 for strongswan.org
commit 06b14b89886b22d1f2d5badfdf21460296749dcc
Author: Tobias Brunner <tobias@strongswan.org>
Date: Fri Apr 17 10:27:48 2026 +0200
cirrus/github: Move CI for FreeBSD from Cirrus CI to GitHub Actions
Cirrus CI will shut down in June, so we have to find a replacement to
test our build on FreeBSD. This uses VMs on GitHub Actions.
diff --git a/.cirrus.yml b/.cirrus.yml
index 8d7809b248..192320365c 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,22 +1,3 @@
-freebsd_task:
- matrix:
- - name: FreeBSD 15.0
- freebsd_instance:
- image_family: freebsd-15-0-amd64-ufs
- - name: FreeBSD 14.3
- freebsd_instance:
- image_family: freebsd-14-3
-
- env:
- TESTS_REDUCED_KEYLENGTHS: yes
- LEAK_DETECTIVE: no
- MONOLITHIC: no
- TEST: freebsd
- OS_NAME: freebsd
-
- install_script: ./scripts/test.sh deps
- script: ./scripts/test.sh
-
alpine_task:
container:
image: alpine:latest
diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml
new file mode 100644
index 0000000000..c7a27a844f
--- /dev/null
+++ b/.github/workflows/freebsd.yml
@@ -0,0 +1,50 @@
+name: FreeBSD
+
+on: [push, pull_request]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+env:
+ TESTS_REDUCED_KEYLENGTHS: yes
+ LEAK_DETECTIVE: no
+ MONOLITHIC: no
+ TEST: freebsd
+ OS_NAME: freebsd
+
+jobs:
+ pre-check:
+ runs-on: ubuntu-latest
+ outputs:
+ should_skip: ${{ steps.skip-check.outputs.should_skip }}
+ steps:
+ - id: skip-check
+ uses: fkirc/skip-duplicate-actions@master
+ with:
+ concurrent_skipping: 'same_content_newer'
+
+ freebsd:
+ needs: pre-check
+ if: ${{ needs.pre-check.outputs.should_skip != 'true' }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ release: [ "15.0", "14.4" ]
+ steps:
+ - uses: actions/checkout@v6
+ - uses: vmactions/freebsd-vm@v1
+ with:
+ release: ${{ matrix.release }}
+ envs: 'TESTS_REDUCED_KEYLENGTHS LEAK_DETECTIVE MONOLITHIC TEST OS_NAME'
+ disable-cache: true
+ prepare: |
+ ./scripts/test.sh deps
+ run: |
+ ./scripts/test.sh
+ - if: ${{ failure() }}
+ uses: actions/upload-artifact@v6
+ with:
+ name: Logs ${{ github.job }}
+ path: config.log
+ retention-days: 5