aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/cmake-multi-platform.yml23
1 files changed, 21 insertions, 2 deletions
diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml
index 8586e19..2191559 100644
--- a/.github/workflows/cmake-multi-platform.yml
+++ b/.github/workflows/cmake-multi-platform.yml
@@ -29,7 +29,9 @@ jobs:
c_compiler: gcc
steps:
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ fetch-depth: 0
- name: Set reusable strings
id: strings
@@ -49,14 +51,22 @@ jobs:
libcurl4-openssl-dev
libxml2-dev
libxml2-utils
+ libzip-dev
pandoc
rsync
+ - name: Install macOS dependencies
+ if: matrix.os == 'macos-latest'
+ run: >
+ brew install
+ libzip
+
- name: Configure CMake
run: >
cmake -B ${{ steps.strings.outputs.build-output-dir }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
+ -DASAN=ON
-DTESTS=ON
-DTESTS_VERBOSE=ON
-DTESTS_RT=ON
@@ -64,10 +74,19 @@ jobs:
-S ${{ github.workspace }}
- name: Build
+ env:
+ PKG_CONFIG_PATH: /opt/homebrew/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
- name: Test
working-directory: ${{ steps.strings.outputs.build-output-dir }}
- run: ctest -V --build-config ${{ matrix.build_type }} --output-junit results.xml --test-output-size-passed 65536 --test-output-size-failed 65536
+ run: |
+ export ASAN_OPTIONS="verify_asan_link_order=0 strict_string_checks=1 detect_stack_use_after_return=1"
+ if [[ "$RUNNER_OS" == "macOS" ]]; then
+ ASAN_OPTIONS="$ASAN_OPTIONS detect_leaks=0"
+ else
+ ASAN_OPTIONS="$ASAN_OPTIONS detect_leaks=1"
+ fi
+ ctest --build-config ${{ matrix.build_type }} --output-on-failure --output-junit results.xml --test-output-size-passed 65536 --test-output-size-failed 65536
env:
STASIS_SYSCONFDIR: ../../..