From e89a4147e7662b821f2fee65501247e64ba1c09e Mon Sep 17 00:00:00 2001 From: Avinal Kumar Date: Thu, 4 Dec 2025 21:13:31 +0530 Subject: [PATCH] Improve GitHub Actions flow and increse Cmake version - Increased CMake minimum version to 3.30 - added test run in github workflow Signed-off-by: Avinal Kumar --- .github/workflows/cmake.yml | 41 +++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 23da715..f68eb7f 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -1,24 +1,39 @@ name: Build and Test + on: [push, pull_request] + jobs: build: runs-on: ubuntu-latest + strategy: - matrix: {compiler: [gcc, clang], build_type: [Release, Debug]} + matrix: + compiler: [g++, clang++] + build_type: [Debug] + steps: - uses: actions/checkout@v4 - - name: Install deps - run: sudo apt-get update && sudo apt-get install -y build-essential cmake - - name: Configure - run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + + - name: Install latest CMake + run: | + python3 -m venv $HOME/cmake-venv + source $HOME/cmake-venv/bin/activate + pip install --upgrade pip + pip install cmake ninja + echo "$HOME/cmake-venv/bin" >> $GITHUB_PATH + + - name: Configure with sanitizers + run: | + SAN="-fsanitize=address,undefined -fno-omit-frame-pointer" + cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} \ + -DCMAKE_C_FLAGS="$SAN" \ + -DCMAKE_CXX_FLAGS="$SAN" + - name: Build run: cmake --build build -j + - name: Run tests - run: ctest --output-on-failure -C ${{ matrix.build_type }} -V - sanitize: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer" - - run: cmake --build build -j - - run: ctest --output-on-failure -C Debug -V + working-directory: build + run: ctest --output-on-failure -V