Skip to content

build

build #19

Workflow file for this run

name: build
on: [push]
permissions:
contents: read
jobs:
all:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }}${{ matrix.name_extra }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
cmake_extra: [""]
name_extra: [""]
include:
- os: windows-latest
cmake_extra: "-T ClangCl"
name_extra: " clang-cl"
steps:
- name: checkout
uses: actions/checkout@v4
- name: install python and pip
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: install dependencies (Linux)
if: ${{ runner.os == 'Linux' }}
run: |
sudo apt-get install libzstd-dev
- name: install latest CMake and Ninja for lukka/run-vcpkg (Windows)
if: ${{ runner.os == 'Windows' }}
uses: lukka/get-cmake@latest
- name: install dependencies (Windows)
if: ${{ runner.os == 'Windows' }}
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: 2cf957350da28ad032178a974607f59f961217d9
- name: prepare build directory and install nihtest
run: |
cmake -E make_directory ${{runner.workspace}}/build
pip install nihtest
- name: configure (Unix)
if: ${{ runner.os != 'Windows' }}
working-directory: ${{runner.workspace}}/build
run: |
cmake ${{ matrix.cmake_extra }} ${{github.workspace}}
- name: configure (Windows)
if: ${{ runner.os == 'Windows' }}
working-directory: ${{runner.workspace}}/build
run: |
cmake ${{ matrix.cmake_extra }} -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake ${{github.workspace}}
- name: build
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --config Release
- name: Archive production artifacts
uses: actions/upload-artifact@v4
with:
name: regress-directory-${{ matrix.os }}-${{ matrix.name_extra }}
path: |
${{runner.workspace}}/build/regress
- name: test
working-directory: ${{runner.workspace}}/build
run: |
ctest --output-on-failure -V -C Release