CI: Extract benchmarking into a distinct job.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user