Add configurable shape-constraint enforcement #377
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |