CI: Extract benchmarking into a distinct job.
Chaos Ci / test (push) Successful in 2m16s
Chaos Ci / benchmark (push) Successful in 1m49s

This commit is contained in:
hashlag
2026-07-06 03:48:04 +03:00
parent f37271ec5b
commit d50a82ad18
+24 -10
View File
@@ -3,7 +3,7 @@ name: Chaos Ci
on: [push, pull_request]
jobs:
test-and-benchmark:
test:
runs-on: ubuntu-latest
steps:
@@ -29,21 +29,12 @@ jobs:
cmake -S . -B build-debug-asanubsan/ -D CMAKE_BUILD_TYPE=Debug -D CHAOS_ASANUBSAN=ON
cmake --build build-debug-asanubsan/ -t ChaosTests
- name: Configure and build benchmarks [Release]
run: |
mkdir build-release
cmake -S . -B build-release/ -D CMAKE_BUILD_TYPE=Release
cmake --build build-release/ -t ChaosBenches
- name: Run tests under valgrind
run: valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all ./build-debug/ChaosTests/ChaosTests
- name: Run tests under ASan and UBSan
run: ./build-debug-asanubsan/ChaosTests/ChaosTests
- name: Run benchmarks
run: ./build-release/ChaosBenches/ChaosBenches
- name: Process coverage data
run: |
lcov --exclude '*/usr/*' --exclude '*/_deps/*' --exclude '*/ChaosTests/*' -c -d build-debug/ -o lcovout
@@ -57,3 +48,26 @@ jobs:
if-no-files-found: error
include-hidden-files: true
retention-days: 10
benchmark:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Install
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake
- name: Configure and build benchmarks [Release]
run: |
mkdir build-release
cmake -S . -B build-release/ -D CMAKE_BUILD_TYPE=Release
cmake --build build-release/ -t ChaosBenches
- name: Run benchmarks
run: ./build-release/ChaosBenches/ChaosBenches