From 5111de2e7a697d9c0089b836b873475c1fa04a6e Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Fri, 8 Aug 2025 00:30:59 +0200 Subject: [PATCH] Run valgrind on pull request --- .github/workflows/ci-cpp.yml | 74 ++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci-cpp.yml b/.github/workflows/ci-cpp.yml index 7d98d13fb..0e2fe4ecb 100644 --- a/.github/workflows/ci-cpp.yml +++ b/.github/workflows/ci-cpp.yml @@ -7,6 +7,14 @@ on: - 'docs/**' - 'media/**' - '**.md' + pull_request: + branches: + - main + - feature/** + paths-ignore: + - 'docs/**' + - 'media/**' + - '**.md' env: LLVM_VERSION: "llvmorg-22.1.6" @@ -43,9 +51,9 @@ jobs: - name: Setup CCache uses: hendrikmuhs/ccache-action@v1 -# - name: Setup Valgrind -# if: github.event_name == 'pull_request' -# run: sudo apt-get install valgrind + - name: Setup Valgrind + if: github.event_name == 'pull_request' + run: sudo apt-get install valgrind - name: Setup Gcovr if: github.event_name == 'push' && github.ref == 'refs/heads/main' @@ -84,7 +92,7 @@ jobs: run: ./setup-libs.sh - name: Build test target -# if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' env: LLVM_DIR: ${{ github.workspace }}/llvm/build/lib/cmake/llvm run: | @@ -100,45 +108,45 @@ jobs: .. cmake --build . --target spicetest -# - name: Build Test target -# if: github.event_name == 'pull_request' -# env: -# LLVM_DIR: ${{ github.workspace }}/llvm/build/lib/cmake/llvm -# run: | -# mkdir ./build -# cd ./build -# cmake -GNinja \ -# -DCMAKE_BUILD_TYPE=Debug \ -# -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -# -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -# -DSPICE_BUILT_BY="ghactions" \ -# -DSPICE_PROF_COMPILE=ON \ -# -DSPICE_RUN_COVERAGE=ON \ -# -Wattributes \ -# .. -# cmake --build . --target spicetest + - name: Build Test target + if: github.event_name == 'pull_request' + env: + LLVM_DIR: ${{ github.workspace }}/llvm/build/lib/cmake/llvm + run: | + mkdir ./build + cd ./build + cmake -GNinja \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DSPICE_BUILT_BY="ghactions" \ + -DSPICE_PROF_COMPILE=ON \ + -DSPICE_RUN_COVERAGE=ON \ + -Wattributes \ + .. + cmake --build . --target spicetest - name: Run Test target -# if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' working-directory: build/test env: - LLVM_LIB_DIR: /${{ github.workspace }}/llvm/build/lib + LLVM_LIB_DIR: ${{ github.workspace }}/llvm/build/lib LLVM_INCLUDE_DIR: ${{ github.workspace }}/llvm/llvm/include LLVM_BUILD_INCLUDE_DIR: ${{ github.workspace }}/llvm/build/include SPICE_STD_DIR: ${{ github.workspace }}/std SPICE_BOOTSTRAP_DIR: ${{ github.workspace }}/src-bootstrap run: ./spicetest --is-github-actions -# - name: Run Test target with Valgrind -# if: github.event_name == 'pull_request' -# working-directory: build/test -# env: -# LLVM_LIB_DIR: ${{ github.workspace }}/llvm/build/lib -# LLVM_INCLUDE_DIR: ${{ github.workspace }}/llvm/llvm/include -# LLVM_BUILD_INCLUDE_DIR: ${{ github.workspace }}/llvm/build/include -# SPICE_STD_DIR: ${{ github.workspace }}/spice/std -# SPICE_BOOTSTRAP_DIR: ${{ github.workspace }}/spice/src-bootstrap -# run: valgrind -q --leak-check=full ./spicetest --is-github-actions --leak-detection + - name: Run Test target with Valgrind + if: github.event_name == 'pull_request' + working-directory: build/test + env: + LLVM_LIB_DIR: ${{ github.workspace }}/llvm/build/lib + LLVM_INCLUDE_DIR: ${{ github.workspace }}/llvm/llvm/include + LLVM_BUILD_INCLUDE_DIR: ${{ github.workspace }}/llvm/build/include + SPICE_STD_DIR: ${{ github.workspace }}/std + SPICE_BOOTSTRAP_DIR: ${{ github.workspace }}/src-bootstrap + run: valgrind -q --leak-check=full ./spicetest --is-github-actions --leak-detection - name: Generate coverage report if: github.event_name == 'push' && github.ref == 'refs/heads/main'