Files
2026-04-14 01:07:27 +02:00

69 lines
1.6 KiB
YAML

name: build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: release
build_type: Release
enable_asan: OFF
- name: asan
build_type: RelWithDebInfo
enable_asan: ON
name: Linux ${{ matrix.name }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build pkg-config libsodium-dev libmariadb-dev
- name: Configure
run: |
cmake -S . -B build-${{ matrix.name }} -G Ninja \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DENABLE_ASAN=${{ matrix.enable_asan }}
- name: Build
run: cmake --build build-${{ matrix.name }} --parallel
- name: Smoke tests
run: ctest --test-dir build-${{ matrix.name }} --output-on-failure
freebsd:
runs-on: ubuntu-latest
name: FreeBSD build
steps:
- uses: actions/checkout@v4
- name: FreeBSD job
id: test
uses: vmactions/freebsd-vm@v1
with:
usesh: true
sync: sshfs
prepare: |
pkg install -y git cmake gmake
run: |
mkdir build
cd build
cmake ..
gmake all -j6
ctest --output-on-failure
- name: Collect outputs
run: |
mkdir _output
cp build/bin/* _output
- name: Upload
uses: actions/upload-artifact@v4
with:
name: output_bsd
path: _output