Bump microsoft/msvc-code-analysis-action from 04825f6d9e00f87422d6bf04e1a38b1f3ed60d99 to 96315324a485db21449515180214ecb78c16a1c5 #667
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: CI Build & Test | |
# Triggers the workflow on push or pull request events | |
on: [push, pull_request] | |
permissions: | |
contents: read | |
jobs: | |
build: | |
strategy: | |
matrix: | |
include: | |
# macOS builds | |
# ~~~~~~~~~~~~ | |
- name: macOS-12/Xcode/Debug | |
build_type: Debug | |
generator: Xcode | |
options: -D PEEJAY_CXX17=No | |
os: macos-12 | |
- name: macOS-12/Xcode/Release | |
build_type: Release | |
generator: Xcode | |
options: -D PEEJAY_CXX17=No | |
os: macos-12 | |
# Linux builds | |
# ~~~~~~~~~~~~ | |
- name: Ubuntu-20.04/clang-8/Debug/C++17 | |
apt_install: clang-8 cmake libc++-8-dev libc++abi-8-dev ninja-build | |
build_type: Debug | |
cxx_compiler: -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_C_COMPILER=clang-8 | |
generator: Ninja | |
options: -D PEEJAY_CXX17=Yes -D LIBCXX=Yes | |
os: ubuntu-20.04 | |
- name: Ubuntu-22.04/gcc-11/Debug | |
apt_install: cmake ninja-build | |
build_type: Debug | |
generator: Ninja | |
options: -D PEEJAY_CXX17=No | |
os: ubuntu-22.04 | |
- name: Ubuntu-22.04/gcc-11/Release | |
apt_install: cmake ninja-build | |
build_type: Release | |
generator: Ninja | |
options: -D PEEJAY_CXX17=No | |
os: ubuntu-22.04 | |
# It's current necesssary to use libc++ because builds witb libstdc++ fail | |
# They fail due to this bug: | |
# https://github.com/llvm/llvm-project/issues/55560 | |
- name: Ubuntu-22.04/clang-14/Debug | |
apt_install: clang-14 cmake libc++-dev libc++abi-dev ninja-build | |
build_type: Debug | |
cxx_compiler: -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 | |
generator: Ninja | |
options: -D PEEJAY_CXX17=No -DLIBCXX=Yes '-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold' | |
os: ubuntu-22.04 | |
- name: Ubuntu-22.04/clang-14/Release | |
apt_install: clang-14 cmake libc++-dev libc++abi-dev ninja-build | |
build_type: Release | |
cxx_compiler: -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 | |
generator: Ninja | |
options: -D PEEJAY_CXX17=No -DLIBCXX=Yes '-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold' | |
os: ubuntu-22.04 | |
- name: Ubuntu-22.04/clang-14/Release/C++17 | |
apt_install: clang-14 cmake ninja-build | |
build_type: Release | |
cxx_compiler: -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 | |
generator: Ninja | |
options: -DPEEJAY_CXX17=Yes -DLIBCXX=Yes -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold | |
os: ubuntu-22.04 | |
# Windows builds | |
# ~~~~~~~~~~~~~~ | |
- name: Windows-latest/VS2022/Debug | |
build_type: Debug | |
generator: Visual Studio 17 2022 | |
options: -D PEEJAY_CXX17=No | |
os: windows-latest | |
- name: Windows-latest/VS2022/Release | |
build_type: Release | |
generator: Visual Studio 17 2022 | |
options: -D PEEJAY_CXX17=No | |
os: windows-latest | |
- name: Windows-latest/VS2022/Debug/C++17 | |
build_type: Debug | |
generator: Visual Studio 17 2022 | |
options: -D PEEJAY_CXX17=Yes | |
os: windows-latest | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1 | |
with: | |
egress-policy: audit | |
- name: Checkout repository | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
submodules: 'True' | |
- name: Install Dependencies (Linux) | |
if: startsWith (matrix.os, 'ubuntu-') && matrix.apt_install != '' | |
run: sudo apt-get update && sudo apt-get install -y ${{ matrix.apt_install }} | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{ github.workspace }}/build | |
- name: Configure CMake | |
shell: bash | |
run: | | |
cmake -S "$GITHUB_WORKSPACE" \ | |
-B "${{ github.workspace }}/build" \ | |
-G "${{ matrix.generator }}" \ | |
-D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
-D WERROR=Yes \ | |
${{ matrix.cxx_compiler }} \ | |
${{ matrix.options }} | |
- name: Build | |
shell: bash | |
run: cmake --build "${{ github.workspace }}/build" --config ${{ matrix.build_type }} |