Skip to content

Commit 6c53f2a

Browse files
committed
Make valgrind CI job a per-PR build
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
1 parent 2648539 commit 6c53f2a

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

.github/workflows/pr_push.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,6 @@ jobs:
155155
Qemu:
156156
needs: [Build]
157157
uses: ./.github/workflows/qemu.yml
158+
Valgrind:
159+
needs: [Build]
160+
uses: ./.github/workflows/valgrind.yml

.github/workflows/valgrind.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Valgrind
2+
3+
on: workflow_call
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
valgrind:
10+
name: Valgrind
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
tool: ['memcheck'] # TODO: enable 'drd' and 'helgrind' when all issues are fixed
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
20+
21+
- name: Install apt packages
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y cmake hwloc libhwloc-dev libjemalloc-dev libnuma-dev libtbb-dev valgrind
25+
26+
- name: Configure CMake
27+
run: >
28+
cmake
29+
-B ${{github.workspace}}/build
30+
-DCMAKE_BUILD_TYPE=Debug
31+
-DUMF_FORMAT_CODE_STYLE=OFF
32+
-DUMF_DEVELOPER_MODE=ON
33+
-DUMF_ENABLE_POOL_TRACKING=ON
34+
-DUMF_BUILD_LIBUMF_POOL_SCALABLE=ON
35+
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
36+
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
37+
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
38+
-DUSE_VALGRIND=1
39+
40+
- name: Build
41+
run: cmake --build ${{github.workspace}}/build --config Debug -j$(nproc)
42+
43+
- name: Run tests under valgrind
44+
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}}

0 commit comments

Comments
 (0)