CI: Extract benchmarking into a distinct job.
This commit is contained in:
@@ -3,7 +3,7 @@ name: Chaos Ci
|
|||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-and-benchmark:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -29,21 +29,12 @@ jobs:
|
|||||||
cmake -S . -B build-debug-asanubsan/ -D CMAKE_BUILD_TYPE=Debug -D CHAOS_ASANUBSAN=ON
|
cmake -S . -B build-debug-asanubsan/ -D CMAKE_BUILD_TYPE=Debug -D CHAOS_ASANUBSAN=ON
|
||||||
cmake --build build-debug-asanubsan/ -t ChaosTests
|
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
|
- name: Run tests under valgrind
|
||||||
run: valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all ./build-debug/ChaosTests/ChaosTests
|
run: valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all ./build-debug/ChaosTests/ChaosTests
|
||||||
|
|
||||||
- name: Run tests under ASan and UBSan
|
- name: Run tests under ASan and UBSan
|
||||||
run: ./build-debug-asanubsan/ChaosTests/ChaosTests
|
run: ./build-debug-asanubsan/ChaosTests/ChaosTests
|
||||||
|
|
||||||
- name: Run benchmarks
|
|
||||||
run: ./build-release/ChaosBenches/ChaosBenches
|
|
||||||
|
|
||||||
- name: Process coverage data
|
- name: Process coverage data
|
||||||
run: |
|
run: |
|
||||||
lcov --exclude '*/usr/*' --exclude '*/_deps/*' --exclude '*/ChaosTests/*' -c -d build-debug/ -o lcovout
|
lcov --exclude '*/usr/*' --exclude '*/_deps/*' --exclude '*/ChaosTests/*' -c -d build-debug/ -o lcovout
|
||||||
@@ -57,3 +48,26 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
include-hidden-files: true
|
include-hidden-files: true
|
||||||
retention-days: 10
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user