Skip to content

build: Update dependencies to 2023-11-06 #104

build: Update dependencies to 2023-11-06

build: Update dependencies to 2023-11-06 #104

Workflow file for this run

name: C++ CI
on:
push:
branches:
- master
- releases/v*
pull_request:
merge_group:
jobs:
build-and-test:
name: Test ${{ matrix.os }}-${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-13, ubuntu-22.04, windows-2022]
compiler: [gcc, clang, msvc]
exclude:
- os: macos-13
compiler: msvc
- os: ubuntu-22.04
compiler: msvc
- os: windows-2022
compiler: gcc
include:
- os: macos-13
triplet: x64-macos
- os: macos-13
compiler: clang
triplet: x64-macos
install: |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install llvm@16
- os: ubuntu-22.04
triplet: x64-linux
- os: ubuntu-22.04
triplet: x64-linux
compiler: clang
install: |
sudo cp tools/llvm-snapshot.gpg.key.asc /etc/apt/trusted.gpg.d/llvm-snapshot.asc
sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main"
sudo apt-get -qq update
sudo apt-get -qq -y install clang-16 clang-tidy-16 clang-format-16
- os: windows-2022
triplet: x64-windows
env:
CTEST_OUTPUT_ON_FAILURE: "1"
steps:
- uses: actions/checkout@v3
- name: Install required packages / compilers
if: ${{ matrix.install }}
run: ${{ matrix.install }}
- uses: lukka/get-cmake@latest
with:
cmakeVersion: 3.22.6
- name: Initialize vcpkg
uses: lukka/run-vcpkg@dev/vcpkgconfjson-support
with:
vcpkgDirectory: ${{ github.workspace }}/build/vcpkg
vcpkgConfigurationJsonGlob: '**/vcpkg-configuration.json'
- name: Build ${{ matrix.triplet }}-${{ matrix.compiler }} preset
uses: lukka/run-cmake@v10
with:
configurePreset: ${{ matrix.triplet }}-${{ matrix.compiler }}
buildPreset: ${{ matrix.triplet }}-${{ matrix.compiler }}
testPreset: ${{ matrix.triplet }}-${{ matrix.compiler }}
env:
CC: ''
CXX: ''
- name: Build ${{ matrix.triplet }}-${{ matrix.compiler }}-release preset
uses: lukka/run-cmake@v10
with:
configurePreset: ${{ matrix.triplet }}-${{ matrix.compiler }}
buildPreset: ${{ matrix.triplet }}-${{ matrix.compiler }}-release
testPreset: ${{ matrix.triplet }}-${{ matrix.compiler }}-release
env:
CC: ''
CXX: ''
- name: Prevent uploading a corrupted vcpkg cache
if: ${{ failure() || cancelled() }}
run: |
echo "RUNVCPKG_NO_CACHE=1" >> $GITHUB_ENV
shell: bash
check-format:
name: clang-tidy & clang-format
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: "Install clang-tools-16"
run: |
sudo cp ${{ github.workspace }}/tools/llvm-snapshot.gpg.key.asc /etc/apt/trusted.gpg.d/llvm-snapshot.asc
sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main"
sudo apt-get -qq update
sudo apt-get -qq -y install clang-16 clang-tidy-16 clang-format-16
- uses: lukka/get-cmake@latest
with:
cmakeVersion: 3.22.6
- name: Initialize vcpkg
uses: lukka/run-vcpkg@dev/vcpkgconfjson-support
with:
vcpkgDirectory: ${{ github.workspace }}/../vcpkg
vcpkgConfigurationJsonGlob: '**/vcpkg-configuration.json'
- name: Configure x64-linux-clang preset
uses: lukka/run-cmake@v10
with:
configurePreset: x64-linux-ci-lint
- uses: cpp-linter/cpp-linter-action@v2
name: Lint with clang-format and clang-tidy
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
version: 16.0.6
style: file # use .clang-format settings
tidy-checks: '' # use .clang-tidy settings
extensions: cpp,hpp
ignore: '.github|build|external'
files-changed-only: true
database: build/x64-linux-ci-lint
- name: Fail if issues have been raised
if: steps.linter.outputs.checks-failed > 0
run: exit 1
- if: ${{ failure() || cancelled() }}
run: |
echo "RUNVCPKG_NO_CACHE=1" >> $GITHUB_ENV
shell: bash