summaryrefslogtreecommitdiff
path: root/.ci/woodpecker/20-sanitizer.yaml
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-02-15 21:43:04 +0100
committerSander Vrijders <sander@ouroboros.rocks>2026-02-18 08:02:37 +0100
commit1bf1d33db3e7622c8b97c5518f0f0ff984b989a8 (patch)
treeed60311c9aaf395e8163825facbd404bd1705ad3 /.ci/woodpecker/20-sanitizer.yaml
parentc87c99ff5adf700e768a08d2c8c02a7705cf9003 (diff)
downloadouroboros-be.tar.gz
ouroboros-be.zip
ci: Restructure Woodpecker pipelinesbe
Split 01-build.yaml into 10-build.yaml and 20-sanitizer.yaml. Each pipeline uses a minimal IMAGE x COMPILER matrix (4 containers) and loops over build configurations inside a single container, reducing total containers to 8. Both pipelines depend on 00-check-version and run in parallel. Adds missing CI coverage for IPCP_FLOW_STATS, DISABLE_CONFIGFILE, DISABLE_DDNS, RXM_BUFFER_ON_HEAP and RXM_BLOCKING. The testing branch is dropped since we deprecated it. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to '.ci/woodpecker/20-sanitizer.yaml')
-rw-r--r--.ci/woodpecker/20-sanitizer.yaml40
1 files changed, 40 insertions, 0 deletions
diff --git a/.ci/woodpecker/20-sanitizer.yaml b/.ci/woodpecker/20-sanitizer.yaml
new file mode 100644
index 00000000..b3d9f6af
--- /dev/null
+++ b/.ci/woodpecker/20-sanitizer.yaml
@@ -0,0 +1,40 @@
+depends_on:
+ - 00-check-version
+
+matrix:
+ IMAGE:
+ - dstaesse/debian:o7s
+ - dstaesse/ubuntu:o7s
+ COMPILER:
+ - clang
+ - gcc
+
+steps:
+ - name: sanitizers
+ image: ${IMAGE}
+ pull: true
+ when:
+ - branch: be
+ event: [push, pull_request]
+ - event: manual
+ commands:
+ - apt-get update -y
+ - apt-get install bash clang -y
+ - apt-get install git protobuf-c-compiler cmake -y
+ - apt-get install libgcrypt20-dev libssl-dev libfuse-dev dnsutils cmake-curses-gui -y
+ - apt-get install libprotobuf-c-dev -y || true
+ - |
+ set -e
+
+ for sanitizer in DebugASan DebugUSan DebugLSan; do
+ echo "--- ${COMPILER} $sanitizer ---"
+ mkdir build && cd build
+ CC=${COMPILER} cmake .. \
+ -DCMAKE_BUILD_TYPE=$sanitizer
+ make -s -j2
+ env CTEST_OUTPUT_ON_FAILURE=1 \
+ make -s check
+ cd .. && rm -rf build
+ done
+
+