name: FreeBSD on: [push, pull_request] permissions: contents: read jobs: build_and_test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - ssl: openssl # currently 3.0 openssl_root_dir: /usr/local - ssl: openssl36 openssl_root_dir: /usr/local - ssl: # base openssl openssl_root_dir: name: FreeBSD with ${{ matrix.ssl || 'base openssl' }} env: SSL: ${{ matrix.ssl }} OPENSSL_ROOT_DIR: ${{ matrix.openssl_root_dir }} steps: - uses: actions/checkout@v6 with: submodules: true - uses: vmactions/freebsd-vm@v1 with: envs: 'OPENSSL_ROOT_DIR SSL' prepare: | pkg install -y $SSL pkgconf cmake git libsodium cpu_features run: | CMAKE_FLAGS="-DUSE_SYSTEM_CPU_FEATURES=1" CFLAGS="-I/usr/local/include/cpu_features" ./configure make -j $(nproc || echo 4) -C build ldd build/vpnserver .ci/memory-leak-test.sh .ci/vpntools-check.sh