name: Build (DragonFly BSD) on: push: branches: - '*' pull_request: branches: - '*' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build_dragonflybsd: name: Build on ${{ matrix.box }} runs-on: ubuntu-latest strategy: matrix: box: - generic/dragonflybsd6 steps: - name: Checkout code uses: actions/checkout@v4 - name: Provision VM uses: hummeltech/freebsd-vagrant-action@v2 # Note: DragonFly BSD was forked from FreeBSD 4.8, and the provision_commands for freebsd-vagrant-action should run fine on DragonFly BSD with: box: ${{ matrix.box }} save_box_to_cache: true - name: Install packages run: sudo pkg install --yes cmake python3 shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0} - name: Generate build system run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="" -DLIBCPUID_ENABLE_TESTS=ON shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0} - name: Build run: cmake --build build shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0} - name: Run cpuid_tool run: | ./build/cpuid_tool/cpuid_tool --save=- --all sudo ./build/cpuid_tool/cpuid_tool --rdmsr-raw --rdmsr shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0} - name: Run tests run: | make -C build consistency make -C build test-old shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0} - name: Install run: cmake --install build env: DESTDIR: ${{ github.workspace }}/installdir shell: /usr/local/bin/bash --noprofile --norc -euo pipefail {0}