From fd7051bbb460fd80ae26937cd3ab91970ea95401 Mon Sep 17 00:00:00 2001 From: Tanmay Patil Date: Wed, 12 Jun 2024 17:19:32 +0530 Subject: [PATCH] Add CI --- .github/workflows/valgrind.yml | 20 ++++++++++++++++++++ ci/test-memory.sh | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/valgrind.yml create mode 100755 ci/test-memory.sh diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml new file mode 100644 index 0000000..1b9d7eb --- /dev/null +++ b/.github/workflows/valgrind.yml @@ -0,0 +1,20 @@ +name: Check memory leaks + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install dependency + run: | + sudo apt-get -y install cmake valgrind + - name: Build + run: bash ci/build-and-install.sh + - name: Test + run: bash ci/test-memory.sh diff --git a/ci/test-memory.sh b/ci/test-memory.sh new file mode 100755 index 0000000..95f93c4 --- /dev/null +++ b/ci/test-memory.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +BINARY="./build/src/md2html" +TESTS_FILE_DIR="./tests" + +failed=0 + +for md in "$TESTS_FILE_DIR"/*; do + valgrind --leak-check=full --error-exitcode=1 $BINARY -i $md + if [ $? -eq 1 ]; then + failed=1 + fi +done + +if [ $failed -eq 1 ]; then + exit 1 +else + exit 0 +fi