From 6ca3b72d4c779873f480e73fd2b6dcc2e7ba1be6 Mon Sep 17 00:00:00 2001 From: scribam Date: Sat, 6 Jun 2026 13:35:09 +0200 Subject: [PATCH] Update BSD CI Add dragonflybsd and midnightbsd --- .github/workflows/cross-platform-actions.yml | 65 +++++++++++++++----- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cross-platform-actions.yml b/.github/workflows/cross-platform-actions.yml index aa7c056..382ed7b 100644 --- a/.github/workflows/cross-platform-actions.yml +++ b/.github/workflows/cross-platform-actions.yml @@ -1,45 +1,82 @@ name: BSD, Haiku, OmniOS -on: [push, pull_request] +on: [ push, pull_request ] jobs: build: runs-on: ubuntu-latest strategy: matrix: - operating_system: [ freebsd, haiku, netbsd, omnios, openbsd ] + operating_system: [ dragonflybsd, freebsd, haiku, midnightbsd, netbsd, omnios, openbsd ] architecture: [ arm64, x86-64 ] include: + - operating_system: dragonflybsd + version: '6.4.2' + pkginstall: | + sudo pkg update + sudo pkg install -y cmake ninja - operating_system: freebsd version: '15.0' - pkginstall: sudo pkg update && sudo pkg install -y cmake git ninja + pkginstall: | + sudo pkg update + sudo pkg install -y cmake ninja - operating_system: haiku version: 'r1beta5' - pkginstall: pkgman refresh && pkgman install -y cmake git ninja + pkginstall: | + pkgman update -y + pkgman install -y cmake ninja + - operating_system: midnightbsd + version: '4.0.4' + pkginstall: | + sudo mport upgrade + sudo mport install cmake ninja || true - operating_system: netbsd version: '10.1' - pkginstall: sudo pkgin update && sudo pkgin -y install clang cmake git ninja-build + pkginstall: | + sudo pkgin update + sudo pkgin -y install clang cmake ninja-build - operating_system: omnios - version: 'r151056' - pkginstall: sudo pkg refresh && sudo pkg install build-essential cmake git ninja + version: 'r151058' + pkginstall: | + sudo pkg refresh + sudo pkg install build-essential cmake ninja - operating_system: openbsd - version: '7.8' - pkginstall: sudo pkg_add -u && sudo pkg_add cmake git ninja + version: '7.9' + pkginstall: | + sudo pkg_add -u + sudo pkg_add cmake ninja exclude: + - operating_system: dragonflybsd + architecture: arm64 - operating_system: haiku architecture: arm64 + - operating_system: midnightbsd + architecture: arm64 - operating_system: omnios architecture: arm64 steps: - uses: actions/checkout@v6 - - uses: cross-platform-actions/action@v1 + - name: Start VM + uses: cross-platform-actions/action@v1 with: operating_system: ${{ matrix.operating_system }} architecture: ${{ matrix.architecture }} version: ${{ matrix.version }} - run: | - ${{ matrix.pkginstall }} - cmake -B build -DCMAKE_BUILD_TYPE=Release -G Ninja - cmake --build build --config Release + + - name: Set up build environment + run: ${{ matrix.pkginstall }} + shell: cpa.sh {0} + + - name: Reboot VM + run: cpa.sh --reboot + if: matrix.operating_system == 'haiku' + + - name: Configure CMake + run: cmake -B build -DCMAKE_BUILD_TYPE=Release -G Ninja + shell: cpa.sh {0} + + - name: Build + run: cmake --build build --config Release + shell: cpa.sh {0}