FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

chore(deps): update https://github.com/microsoft/vcpkg digest to 2682618 · msclock/cppfront-practice@93f4690 · GitHub

chore(deps): update https://github.com/microsoft/vcpkg digest to 04a9d8e #823

chore(deps): update https://github.com/microsoft/vcpkg digest to 04a9d8e

chore(deps): update https://github.com/microsoft/vcpkg digest to 04a9d8e #823

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: CI
on:
workflow_dispatch:
push:
branches:
- master
- beta
- alpha
- '*.x'
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.11
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
with:
extra_args: --hook-stage manual --all-files
check-on-linux:
runs-on: ubuntu-24.04
needs: [pre-commit]
strategy:
matrix:
triplet: [x64-linux]
compiler: [gcc-14, llvm-18]
std: [20]
build_type: [Debug, RelWithDebInfo]
name: check • ${{ matrix.triplet }} • ${{ matrix.compiler }} • c++${{ matrix.std }} • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
restore-keys: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: ${{ matrix.compiler }}
cmake: true
ninja: true
ccache: true
- name: Prepare for lcov
if: contains(matrix.compiler, 'gcc')
run: |
sudo apt-get update; sudo apt-get install lcov -y
gcc_compiler=${{ matrix.compiler }}
gcov_version=${gcc_compiler##*-}
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-$gcov_version 100
- name: Prepare for llvm-cov
if: contains(matrix.compiler, 'llvm')
run: |
llvm_compiler=${{ matrix.compiler }}
llvm_cov_version=${llvm_compiler##*-}
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-$llvm_cov_version 100
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=${{ matrix.std }}
-DCMAKE_C_COMPILER=${{ contains(matrix.compiler, 'gcc') && 'gcc' || contains(matrix.compiler, 'llvm') && 'clang' }}
-DCMAKE_CXX_COMPILER=${{ contains(matrix.compiler, 'gcc') && 'g++' || contains(matrix.compiler, 'llvm') && 'clang++' }}
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }}
-DCODE_COVERAGE=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Test
run: ctest --preset=default
- name: Install
run: cmake --build --preset=default --target install
- name: Uninstall
run: cmake --build --preset=default --target uninstall
- name: Coverage
run: cmake --build --preset=default --target ccov-all
check-on-macos:
if: false
runs-on: macos-14
needs: [pre-commit]
strategy:
matrix:
triplet: [arm64-osx]
compiler: [gcc@14, llvm@18]
std: [23]
build_type: [Debug, RelWithDebInfo]
name: check • ${{ matrix.triplet }} • ${{ matrix.compiler }} • c++${{ matrix.std }} • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
restore-keys: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
- name: Install compilers and tools
run: |
brew install ${{ matrix.compiler }} cmake ninja ccache lcov
- name: Prepare PATH for compilers
run: echo "PATH=/usr/local/opt/${{ matrix.compiler }}/bin:$PATH" >> $GITHUB_ENV
- name: Prepare for llvm
if: contains(matrix.compiler, 'llvm')
run: |
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
- name: Prepare for gcc
if: contains(matrix.compiler, 'gcc')
run: |
echo "CC=gcc" >> $GITHUB_ENV
echo "CXX=g++" >> $GITHUB_ENV
compiler=${{ matrix.compiler }}
gcov_version=${compiler##*@}
echo "GCOV=$(which gcov-$gcov_version)" >> $GITHUB_ENV
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=${{ matrix.std }}
-DCMAKE_C_COMPILER="${CC}"
-DCMAKE_CXX_COMPILER="${CXX}"
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }}
-DCODE_COVERAGE=ON
-DBUILD_TESTING=ON
${{ contains(matrix.compiler, 'gcc') && '-DCODE_COVERAGE_GCOV=${GCOV}' }}
- name: Build
run: cmake --build --preset=default --target all
- name: Test
run: ctest --preset=default
- name: Install
run: cmake --build --preset=default --target install
- name: Uninstall
run: cmake --build --preset=default --target uninstall
- name: Coverage
run: cmake --build --preset=default --target ccov-all
check-on-windows:
runs-on: windows-2022
needs: [pre-commit]
strategy:
matrix:
triplet: [x64-windows]
compiler: [msvc-2022, llvm-18]
std: [20]
build_type: [Debug, RelWithDebInfo]
name: check • ${{ matrix.triplet }} • ${{ matrix.compiler }} • c++${{ matrix.std }} • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
~/AppData/Local/vcpkg
key: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
restore-keys: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: ${{ matrix.compiler }}
vcvarsall: true
cmake: true
ninja: true
ccache: true
opencppcoverage: true
- name: Configure CMake
run: >
cmake -S . --preset=default ${{ contains(matrix.compiler, 'llvm') && '-DVCPKG_PLATFORM_TOOLSET=ClangCL' || '' }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=${{ matrix.std }}
-DCMAKE_C_COMPILER=${{ contains(matrix.compiler, 'msvc') && '"cl"' || contains(matrix.compiler, 'llvm') && '"clang-cl.exe"' }}
-DCMAKE_CXX_COMPILER=${{ contains(matrix.compiler, 'msvc') && '"cl"' || contains(matrix.compiler, 'llvm') && '"clang-cl.exe"' }}
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }}
-DCODE_COVERAGE=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Test
run: ctest --preset=default
- name: Install
run: cmake --build --preset=default --target install
- name: Uninstall
run: cmake --build --preset=default --target uninstall
- name: Coverage
run: cmake --build --preset=default --target ccov-all
check-mingw:
runs-on: windows-2022
needs: [pre-commit]
strategy:
matrix:
triplet: [x64-mingw-dynamic]
compiler: [mingw]
std: [20]
build_type: [Debug, RelWithDebInfo]
name: check • ${{ matrix.triplet }} • ${{ matrix.compiler }} • c++${{ matrix.std }} • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/pip
~/.cache/vcpkg
~/AppData/Local/vcpkg
key: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
restore-keys: ${{ matrix.triplet }}-${{ matrix.compiler }}-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: ${{ matrix.compiler }}
cmake: true
ninja: true
ccache: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.x
- name: Prepare for gcovr
run: |
pip install gcovr==8.3
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=${{ matrix.std }}
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-mingw-dynamic
-DCODE_COVERAGE=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Test
run: ctest --preset=default
- name: Install
run: cmake --build --preset=default --target install
- name: Uninstall
run: cmake --build --preset=default --target uninstall
- name: Coverage
run: cmake --build --preset=default --target ccov-all
check-sanitizers:
runs-on: ubuntu-24.04
needs: [pre-commit]
strategy:
matrix:
sanitizer:
- address,undefined
build_type: [Debug, RelWithDebInfo]
name: check • sanitizers • ${{ matrix.sanitizer }} • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
-DUSE_SANITIZER=${{ matrix.sanitizer }}
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Test
run: ctest --preset=default
check-valgrind:
runs-on: ubuntu-24.04
needs: [pre-commit]
strategy:
matrix:
build_type: [Debug, RelWithDebInfo]
name: check • valgrind • ${{ matrix.build_type }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
- name: Install valgrind
run: sudo apt-get install valgrind
# Use Valgrind must disable sanitizer
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
-DUSE_VALGRIND=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Valgrind
run: cmake --build --preset=default --target ExperimentalMemCheck | tee out/valgrind.log
- name: Check if valgrind found some errors
run: |
if grep -q "Memory Leak" out/valgrind.log; then
echo "# :error: Memory Leak found! Please fix it." >> $GITHUB_STEP_SUMMARY
echo -e "References: \n - <https://valgrind.org/docs/manual/manual.html>\n - <https://stackoverflow.com/a/44989219/23467261>" >> $GITHUB_STEP_SUMMARY
tar -czf out/valgrind-results.tar.gz out/build/default/Testing
exit 1
fi
- name: Upload test results
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: valgrind-results
path: out/valgrind-results.tar.gz
clang-tidy:
runs-on: ubuntu-24.04
needs: [pre-commit]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.x
- name: Install latest clang-tidy
run: |
pip install clang-tidy==20.1.0
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
-DUSE_CLANGTIDY=ON
-DUSE_CLANGTIDY_WARNINGS_AS_ERRORS=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
cppcheck:
runs-on: ubuntu-24.04
needs: [pre-commit]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.x
- name: Install latest cppcheck
run: |
pip install cppcheck==1.5.1
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
-DUSE_CPPCHECK=ON
-DUSE_CPPCHECK_WARNINGS_AS_ERRORS=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
check-docs:
runs-on: ubuntu-24.04
needs: [pre-commit]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/pip
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
doxygen: true
graphviz: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.x
- name: Configure CMake
run: >
make cmake-configure CONFIGURE="
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
"
- name: Checks the docs with warnings as errors
run: make docs-check
codecov:
runs-on: ubuntu-24.04
needs: [pre-commit]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
path: |
~/vcpkg
~/.cache/vcpkg
key: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
restore-keys: x64-linux-gcc-14-${{ hashFiles('vcpkg.json') }}
- uses: aminya/setup-cpp@v1
with:
compiler: gcc-14
cmake: true
ninja: true
ccache: true
- name: Prepare for lcov
run: |
sudo apt-get update; sudo apt-get install lcov -y
gcc_compiler=gcc-14
gcov_version=${gcc_compiler##*-}
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-$gcov_version 100
- name: Configure CMake
run: >
cmake -S . --preset=default
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_CXX_STANDARD=20
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DVCPKG_TARGET_TRIPLET=x64-linux
-DCODE_COVERAGE=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build --preset=default --target all
- name: Coverage
run: cmake --build --preset=default --target ccov-all
- name: Upload coverage report
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
disable_search: true
files: ./out/build/default/code_coverage/coverage.info
verbose: true
pass:
if: always()
needs:
- check-on-linux
- check-on-windows
- check-mingw
- check-docs
- check-sanitizers
- check-valgrind
- clang-tidy
- cppcheck
- codecov
runs-on: ubuntu-24.04
timeout-minutes: 2
permissions:
pull-requests: write
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
- name: Approve pr if all jobs succeeded
if: contains(github.event.pull_request.labels.*.name, 'auto-approval') && contains(github.actor, '[bot]')
uses: hmarr/auto-approve-action@v4

Back | FazBrowse Home | New Git URL