bfde32dbe9
cpp-template / format (ubuntu-22.04) (push) Successful in 1m2s
cpp-template / format (ubuntu-24.04) (push) Successful in 1m3s
cpp-template / build-test (asan, ubuntu-22.04) (push) Successful in 1m53s
cpp-template / build-test (asan, ubuntu-24.04) (push) Successful in 1m48s
cpp-template / build-test (debug, ubuntu-22.04) (push) Successful in 2m6s
cpp-template / build-test (debug, ubuntu-24.04) (push) Successful in 1m40s
cpp-template / build-test (fuzz, ubuntu-22.04) (push) Successful in 7m31s
cpp-template / build-test (fuzz, ubuntu-24.04) (push) Successful in 7m52s
cpp-template / build-test (release, ubuntu-22.04) (push) Successful in 2m17s
cpp-template / build-test (release, ubuntu-24.04) (push) Successful in 2m1s
cpp-template / clang-tidy (ubuntu-22.04) (push) Successful in 1m50s
cpp-template / clang-tidy (ubuntu-24.04) (push) Successful in 1m51s
cpp-template / install-consumer (ubuntu-22.04) (push) Successful in 1m41s
cpp-template / install-consumer (ubuntu-24.04) (push) Successful in 1m43s
cpp-template / no-network-negative (ubuntu-22.04) (push) Successful in 6m54s
cpp-template / no-network-negative (ubuntu-24.04) (push) Successful in 7m5s
cpp-template / format (ubuntu-20.04) (push) Has been cancelled
cpp-template / build-test (asan, ubuntu-20.04) (push) Has been cancelled
cpp-template / build-test (debug, ubuntu-20.04) (push) Has been cancelled
cpp-template / build-test (fuzz, ubuntu-20.04) (push) Has been cancelled
cpp-template / build-test (release, ubuntu-20.04) (push) Has been cancelled
cpp-template / clang-tidy (ubuntu-20.04) (push) Has been cancelled
cpp-template / install-consumer (ubuntu-20.04) (push) Has been cancelled
cpp-template / no-network-negative (ubuntu-20.04) (push) Has been cancelled
- Set FUZZTEST_FUZZING_MODE=ON in fuzztest.cmake for coverage-guided fuzzing - Strip ASan flags from FuzzTest's FuzzTestFlagSetup.cmake to prevent conflicts with build-time code generators (grammar_domain_code_generator) - Add ABSL_CONTAINER_DISABLE_SMALL_OBJECT_OPTIMIZATION=1 env var to CTest preset and CI pipeline to prevent Abseil raw_hash_set SOO corruption caused by coverage instrumentation during static initialization - Update fuzz preset to RelWithDebInfo for optimized fuzzing performance - Update comments documenting root cause (Abseil lts_20260107.1 + -fsanitize-coverage=inline-8bit-counters incompatibility)
76 lines
2.6 KiB
YAML
76 lines
2.6 KiB
YAML
name: cpp-template
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
format:
|
|
strategy:
|
|
matrix:
|
|
ubuntu_version: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
|
|
runs-on: ${{ matrix.ubuntu_version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check formatting
|
|
run: python3 scripts/format.py --check
|
|
|
|
build-test:
|
|
strategy:
|
|
matrix:
|
|
ubuntu_version: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
|
|
preset: [debug, release, asan, fuzz]
|
|
runs-on: ${{ matrix.ubuntu_version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Configure (${{ matrix.preset }})
|
|
run: cmake --preset ${{ matrix.preset }}
|
|
env:
|
|
FUZZTEST_PRNG_SEED: ${{ matrix.preset == 'fuzz' && '42' || '' }}
|
|
- name: Build (${{ matrix.preset }})
|
|
run: cmake --build --preset ${{ matrix.preset }} -- VERBOSE=1
|
|
- name: Test (${{ matrix.preset }})
|
|
run: ctest --preset ${{ matrix.preset }} --output-on-failure ${{ matrix.preset == 'fuzz' && '-L fuzz_smoke' || '' }}
|
|
env:
|
|
FUZZTEST_PRNG_SEED: ${{ matrix.preset == 'fuzz' && '42' || '' }}
|
|
ABSL_CONTAINER_DISABLE_SMALL_OBJECT_OPTIMIZATION: ${{ matrix.preset == 'fuzz' && '1' || '' }}
|
|
|
|
clang-tidy:
|
|
strategy:
|
|
matrix:
|
|
ubuntu_version: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
|
|
runs-on: ${{ matrix.ubuntu_version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Configure debug preset for compile commands
|
|
run: cmake --preset debug
|
|
- name: Run clang-tidy
|
|
run: python3 scripts/clang_tidy.py --build-dir build/debug
|
|
|
|
install-consumer:
|
|
strategy:
|
|
matrix:
|
|
ubuntu_version: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
|
|
runs-on: ${{ matrix.ubuntu_version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Run install-consumer QA
|
|
run: python3 scripts/dev_check.py install-consumer
|
|
|
|
no-network-negative:
|
|
strategy:
|
|
matrix:
|
|
ubuntu_version: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
|
|
runs-on: ${{ matrix.ubuntu_version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check default configure avoids network fetches
|
|
run: python3 scripts/dev_check.py no-network-default
|
|
- name: Check fuzz lane avoids network fetches
|
|
run: python3 scripts/dev_check.py no-network-fuzztest-lane
|
|
- name: Check missing archive hash diagnostics
|
|
run: python3 scripts/dev_check.py no-network-missing-archive
|
|
- name: Check vendored GoogleTest isolation
|
|
run: python3 scripts/dev_check.py gtest-isolation
|
|
- name: Check FuzzTest optional feature diagnostics
|
|
run: python3 scripts/dev_check.py fuzztest-optional-features
|