Skip to content

Add configurable shape-constraint enforcement #377

Add configurable shape-constraint enforcement

Add configurable shape-constraint enforcement #377

Workflow file for this run

name: build-windows
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_call:
jobs:
windows:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Add LLVM to PATH
run: echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Set up MSVC environment
uses: ilammy/msvc-dev-cmd@v1
- name: Update and bootstrap vcpkg
run: |
git -C C:/vcpkg fetch origin
git -C C:/vcpkg reset --hard origin/master
C:/vcpkg/bootstrap-vcpkg.bat -disableMetrics
C:/vcpkg/vcpkg.exe version
- name: Cache vcpkg downloads
uses: actions/cache@v4
with:
path: C:/vcpkg/downloads
key: operon-vcpkg-downloads-windows-${{ hashFiles('vcpkg.json', 'vcpkg-configuration.json', 'triplets/**', 'vcpkg-overlays/**') }}
restore-keys: operon-vcpkg-downloads-windows-
- name: Cache vcpkg installed packages
uses: actions/cache@v4
with:
path: C:/vcpkg/installed
key: operon-vcpkg-windows-${{ hashFiles('vcpkg.json', 'vcpkg-configuration.json', 'triplets/**', 'vcpkg-overlays/**') }}
restore-keys: operon-vcpkg-windows-
- name: Configure
env:
VCPKG_ROOT: C:/vcpkg
run: cmake --preset=build-windows -B build -DUSE_SINGLE_PRECISION=ON -Doperon_DEVELOPER_MODE=ON -DVCPKG_MANIFEST_FEATURES=test
- name: Build test binary
# -j2, not -j4: eve's heavily-templated SIMD headers (e.g. cos_kernel.hpp)
# push clang-cl past available heap/RAM on the windows-latest runner when
# compiled with more concurrent processes, causing C1002 (out of heap space).
run: cmake --build build --config Release --target operon_test -j2
- name: Run tests
working-directory: build
run: ctest --output-on-failure -C Release -j4