refactor: Remove forward_list
dependency on GSL
#867
Workflow file for this run
This file contains 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: Building and testing | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
permissions: {} | |
jobs: | |
msvc_debug_x86_64_windows: | |
name: Build (MSVC Debug x86-64 Windows) | |
env: | |
CONFIGURE_PRESET_NAME: windows-x64 | |
BUILD_PRESET_NAME: windows-x64-debug | |
BINARY_DIR: ${{ github.workspace }}\out\build\windows-x64\Debug | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
runs-on: windows-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}\vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: .\vcpkg\bootstrap-vcpkg.bat -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build | |
run: >- | |
cmake | |
--build | |
--parallel | |
--preset ${{ env.BUILD_PRESET_NAME }} | |
-- | |
-consoleLoggerParameters:ForceConsoleColor;ShowCommandLine | |
shell: cmd | |
- name: Run test driver | |
run: >- | |
.\test_driver.exe | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run test driver of experimental library | |
run: >- | |
.\test_driver_experimental.exe | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
.\benchmark_driver.exe | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
.\benchmark_driver_experimental.exe | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
msvc_release_x86_64_windows: | |
name: Build (MSVC Release x86-64 Windows) | |
env: | |
CONFIGURE_PRESET_NAME: windows-x64 | |
BUILD_PRESET_NAME: windows-x64-release | |
BINARY_DIR: ${{ github.workspace }}\out\build\windows-x64\Release | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
runs-on: windows-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}\vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: .\vcpkg\bootstrap-vcpkg.bat -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build | |
run: >- | |
cmake | |
--build | |
--parallel | |
--preset ${{ env.BUILD_PRESET_NAME }} | |
-- | |
-consoleLoggerParameters:ForceConsoleColor;ShowCommandLine | |
shell: cmd | |
- name: Run test driver | |
run: >- | |
.\test_driver.exe | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run test driver of experimental library | |
run: >- | |
.\test_driver_experimental.exe | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
.\benchmark_driver.exe | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
.\benchmark_driver_experimental.exe | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
gcc_debug_x86_64_linux: | |
name: Build (GCC Debug x86-64 Linux) | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
CONFIGURE_PRESET_NAME: strict-gcc | |
BUILD_PRESET_NAME: strict-gcc-debug | |
BINARY_DIR: ${{ github.workspace }}/out/build/strict-gcc/Debug | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Install tools | |
run: >- | |
sudo apt-get update | |
sudo apt-get install | |
ninja-build | |
valgrind | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}/vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: ./vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build | |
run: >- | |
cmake | |
--build | |
--parallel | |
--preset '${{ env.BUILD_PRESET_NAME }}' | |
- name: Run and instrument test driver | |
run: >- | |
/usr/bin/valgrind | |
--tool=memcheck | |
--leak-check=full | |
--show-leak-kinds=all | |
./test_driver | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run and instrument test driver of experimental library | |
run: >- | |
/usr/bin/valgrind | |
--tool=memcheck | |
--leak-check=full | |
--show-leak-kinds=all | |
./test_driver_experimental | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
./benchmark_driver | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
./benchmark_driver_experimental | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
gcc_release_x86_64_linux: | |
name: Build (GCC Release x86-64 Linux) | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
CONFIGURE_PRESET_NAME: strict-gcc | |
BUILD_PRESET_NAME: strict-gcc-release | |
BINARY_DIR: ${{ github.workspace }}/out/build/strict-gcc/Release | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Install tools | |
run: >- | |
sudo apt-get update | |
sudo apt-get install | |
ninja-build | |
valgrind | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}/vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: ./vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build | |
run: >- | |
cmake | |
--build | |
--parallel | |
--preset '${{ env.BUILD_PRESET_NAME }}' | |
- name: Run and instrument test driver | |
run: >- | |
/usr/bin/valgrind | |
--tool=memcheck | |
--leak-check=full | |
--show-leak-kinds=all | |
./test_driver | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run and instrument test driver of experimental library | |
run: >- | |
/usr/bin/valgrind | |
--tool=memcheck | |
--leak-check=full | |
--show-leak-kinds=all | |
./test_driver_experimental | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
./benchmark_driver | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
./benchmark_driver_experimental | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
apple_clang_debug_aarch64_macos: | |
name: Build (Apple Clang Debug AArch64 macOS) | |
env: | |
CONFIGURE_PRESET_NAME: xcode | |
BUILD_PRESET_NAME: xcode | |
BINARY_DIR: ${{ github.workspace }}/out/build/xcode/Debug | |
BUILD_CONFIGURATION: Debug | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
XCODE_RELEASE: "16.0" | |
runs-on: macos-15 | |
steps: | |
- name: Set default Xcode release | |
run: >- | |
sudo xcode-select | |
-switch '/Applications/Xcode_${{ env.XCODE_RELEASE }}.app' | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}/vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: ./vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build with sanitizers | |
run: >- | |
cmake | |
--build | |
--config '${{ env.BUILD_CONFIGURATION }}' | |
--parallel | |
--preset '${{ env.BUILD_PRESET_NAME }}' | |
-- | |
-enableAddressSanitizer YES | |
-enableUndefinedBehaviorSanitizer YES | |
- name: Run test driver | |
run: >- | |
./test_driver | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run test driver of experimental library | |
run: >- | |
./test_driver_experimental | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
./benchmark_driver | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
./benchmark_driver_experimental | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
apple_clang_release_aarch64_macos: | |
name: Build (Apple Clang Release AArch64 macOS) | |
env: | |
CONFIGURE_PRESET_NAME: xcode | |
BUILD_PRESET_NAME: xcode | |
BINARY_DIR: ${{ github.workspace }}/out/build/xcode/Release | |
BUILD_CONFIGURATION: Release | |
VCPKG_BINARY_SOURCES: clear;x-gha,readwrite | |
XCODE_RELEASE: "16.0" | |
runs-on: macos-15 | |
steps: | |
- name: Set default Xcode release | |
run: >- | |
sudo xcode-select | |
-switch '/Applications/Xcode_${{ env.XCODE_RELEASE }}.app' | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check out vcpkg | |
uses: actions/checkout@v4 | |
with: | |
repository: microsoft/vcpkg | |
path: ${{ github.workspace }}/vcpkg | |
persist-credentials: false | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: |- | |
core.exportVariable( | |
'ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '' | |
); | |
core.exportVariable( | |
'ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '' | |
); | |
- name: Bootstrap vcpkg | |
run: ./vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
- name: Configure CMake | |
run: >- | |
cmake | |
--preset '${{ env.CONFIGURE_PRESET_NAME }}' | |
- name: Build | |
run: >- | |
cmake | |
--build | |
--config '${{ env.BUILD_CONFIGURATION }}' | |
--parallel | |
--preset '${{ env.BUILD_PRESET_NAME }}' | |
- name: Run test driver | |
run: >- | |
./test_driver | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run test driver of experimental library | |
run: >- | |
./test_driver_experimental | |
--reporter console::out=-::colour-mode=ansi | |
--success | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks | |
run: >- | |
./benchmark_driver | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} | |
- name: Run benchmarks of experimental library | |
run: >- | |
./benchmark_driver_experimental | |
--durations yes | |
--reporter console::out=-::colour-mode=ansi | |
working-directory: ${{ env.BINARY_DIR }} |