Add new quote #118
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: CMake Build Matrix | |
on: [push, pull_request] | |
env: | |
CMAKE_VERSION: 3.28.0 # Oldest supported | |
NINJA_VERSION: 1.12.1 # Latest | |
BUILD_TYPE: Release | |
CCACHE_VERSION: 4.10.2 # Latest | |
NINJA_STATUS: "[%f/%t %o/sec] " | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Windows MSVC 2019", artifact: "Windows-MSVC-2019.7z", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat", | |
gpu_var: "Off", | |
openmp_var: "Off" | |
} | |
- { | |
name: "Windows MSVC 2022", artifact: "Windows-MSVC-2022.7z", | |
os: windows-2022, | |
cc: "cl", cxx: "cl", | |
environment_script: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat", | |
gpu_var: "Off", | |
openmp_var: "On" | |
} | |
- { | |
name: "macOS Latest Clang", artifact: "macOS.7z", | |
# In a release branch, we should fix this for the lifetime | |
# of the branch. | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
gpu_var: "Off", | |
openmp_var: "Off" | |
} | |
- { | |
name: "macOS Latest GCC 14 with OpenCL", artifact: "macOS-gcc-OpenCL.7z", | |
# In a release branch, we should fix this for the lifetime | |
# of the branch. | |
os: macos-latest, | |
cc: "gcc-14", cxx: "g++-14", | |
gpu_var: "OpenCL", | |
openmp_var: "On" | |
} | |
env: | |
CC: ${{ matrix.config.cc }} | |
CXX: ${{ matrix.config.cxx }} | |
CI_JOB_ID: ${{ github.sha }} # Tell CMake it's running in CI | |
OPENMP_VAR: ${{ matrix.config.openmp_var }} | |
GPU_VAR: ${{ matrix.config.gpu_var }} | |
ENVIRONMENT_SCRIPT: ${{ matrix.config.environment_script }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
show-progress: false | |
- name: Download Ninja, CMake, and CCache | |
run: cmake -P .github/scripts/download-ninja-cmake.cmake | |
- name: ccache cache files | |
uses: actions/cache@v4 | |
with: | |
path: .ccache | |
key: ${{ matrix.config.name }}-ccache-${{ github.sha }} | |
restore-keys: | | |
${{ matrix.config.name }}-ccache- | |
- name: Configure | |
run: cmake -P .github/scripts/configure.cmake | |
- name: Build | |
run: cmake -P .github/scripts/build.cmake | |
- name: Run tests | |
run: cmake -P .github/scripts/test.cmake | |