Skip to content

Commit 4f7f65a

Browse files
PS-10014 feature: Add Valgrind testing to the CI
https://perconadev.atlassian.net/browse/PS-10014 Added new step to GitHub Actions. We now run MTR under Valgrind for "GCC 14 Debug" configuration.
1 parent 4d73e97 commit 4f7f65a

1 file changed

Lines changed: 28 additions & 4 deletions

File tree

.github/workflows/cmake.yml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ jobs:
6767
name: "GCC 14 Debug",
6868
label: "debug_gcc14",
6969
run_mtr: true,
70+
run_valgrind_mtr: true,
7071
run_ctest: true
7172
}
7273
- {
@@ -136,8 +137,13 @@ jobs:
136137
run: |
137138
sudo apt-get install g++-14
138139
140+
- name: Install Valgrind on ubuntu
141+
if: matrix.config.run_valgrind_mtr
142+
run: |
143+
sudo apt-get install valgrind
144+
139145
- name: Fixing libaio1 for MySQL Server tarball
140-
if: matrix.config.run_mtr
146+
if: matrix.config.run_mtr || matrix.config.run_valgrind_mtr
141147
run: |
142148
sudo apt-get install libaio-dev
143149
sudo ln -s libaio.so /lib/x86_64-linux-gnu/libaio.so.1
@@ -253,11 +259,11 @@ jobs:
253259
run: ./binlog_server version
254260

255261
- name: Creating DIST directory for MySQL Server tarballs
256-
if: matrix.config.run_mtr
262+
if: matrix.config.run_mtr || matrix.config.run_valgrind_mtr
257263
run: mkdir -p ${{github.workspace}}/dist
258264

259265
- name: Unpacking MySQL Server 8.0 tarballs
260-
if: matrix.config.run_mtr
266+
if: matrix.config.run_mtr || matrix.config.run_valgrind_mtr
261267
working-directory: ${{github.workspace}}/dist
262268
run: |
263269
# https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.45-linux-glibc2.28-x86_64.tar.xz
@@ -276,7 +282,7 @@ jobs:
276282
./${DIST_BASE_NAME}/bin/mysqld --version
277283
278284
- name: Unpacking MySQL Server 8.4 tarballs
279-
if: matrix.config.run_mtr
285+
if: matrix.config.run_mtr || matrix.config.run_valgrind_mtr
280286
working-directory: ${{github.workspace}}/dist
281287
run: |
282288
# https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.8-linux-glibc2.28-x86_64-minimal.tar.xz
@@ -303,6 +309,15 @@ jobs:
303309
--force --max-test-fail=0 --retry=0 --nounit-tests --big-test --repeat=2 --parallel=${{steps.cpu-cores.outputs.count}} \
304310
--suite=binlog_streaming ${{matrix.config.mtr_options}}
305311
312+
- name: MTR 8.0 tests (Valgrind)
313+
if: matrix.config.run_valgrind_mtr
314+
working-directory: ${{github.workspace}}/dist/${{format('mysql-{0}-{1}', env.MYSQL_80_VERSION, env.MYSQL_GLIBC_SUFFIX)}}/mysql-test
315+
run: |
316+
BINSRV=${{github.workspace}}/src-build-${{matrix.config.label}}/binlog_server ./mtr \
317+
--vardir=${{runner.temp}}/mtrvardir80 \
318+
--force --max-test-fail=0 --retry=0 --nounit-tests --big-test --parallel=${{steps.cpu-cores.outputs.count}} \
319+
--suite=binlog_streaming --valgrind
320+
306321
- name: MTR 8.4 tests
307322
if: matrix.config.run_mtr
308323
working-directory: ${{github.workspace}}/dist/${{format('mysql-{0}-{1}-minimal', env.MYSQL_84_VERSION, env.MYSQL_GLIBC_SUFFIX)}}/mysql-test
@@ -312,6 +327,15 @@ jobs:
312327
--force --max-test-fail=0 --retry=0 --nounit-tests --big-test --repeat=2 --parallel=${{steps.cpu-cores.outputs.count}} \
313328
--suite=binlog_streaming ${{matrix.config.mtr_options}}
314329
330+
- name: MTR 8.4 tests (Valgrind)
331+
if: matrix.config.run_valgrind_mtr
332+
working-directory: ${{github.workspace}}/dist/${{format('mysql-{0}-{1}-minimal', env.MYSQL_84_VERSION, env.MYSQL_GLIBC_SUFFIX)}}/mysql-test
333+
run: |
334+
BINSRV=${{github.workspace}}/src-build-${{matrix.config.label}}/binlog_server ./mtr \
335+
--vardir=${{runner.temp}}/mtrvardir84 \
336+
--force --max-test-fail=0 --retry=0 --nounit-tests --big-test --parallel=${{steps.cpu-cores.outputs.count}} \
337+
--suite=binlog_streaming --valgrind
338+
315339
- name: CTest
316340
if: matrix.config.run_ctest
317341
working-directory: ${{github.workspace}}/src-build-${{matrix.config.label}}

0 commit comments

Comments
 (0)