From 0ece4f8316f99e67ba76e37719d88d061d031740 Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 20 Apr 2025 11:03:23 +0200 Subject: [PATCH] ci: build & test in matrix build build in alpine, debian and fedora and run all tests --- .woodpecker/test.yaml | 71 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 3 deletions(-) diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index c89535e..e4077b8 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -5,13 +5,31 @@ when: labels: platform: linux/amd64 +matrix: + POSTGRESQL: + - "-WITH_POSTGRESQL=1" + - "-WITH_POSTGRESQL=0" + BOTAN: + - "-DWITH_BOTAN=1" + - "-DWITH_BOTAN=0" + steps: build-fedora: image: codeberg.org/biboumi/ci-test-fedora:latest + environment: + COMPILER: "g++" + BUILD_TYPE: "Release" + SQLITE3: "-DWITH_SQLITE3=1" + CXX_FLAGS: "-Werror -Wno-psabi" + LIBIDN: "-DWITH_LIBIDN=1" + POSTGRESQL: "-WITH_POSTGRESQL=1" + UDNS: "-DWITH_UDNS=1" + SYSTEMD: "-DWITH_SYSTEMD=1" commands: + - echo "building with parameters '-DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL'" - mkdir build/ - cd build/ - - cmake .. + - cmake .. -DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL - make everything -j$(nproc || echo 1) test-fedora: @@ -20,5 +38,52 @@ steps: commands: - cd build/ - make check_junit || true; make check - # e2e is still broken (12/89 fails) for now - # - make e2e + - make e2e + + build-alpine: + image: codeberg.org/biboumi/ci-test-alpine:latest + environment: + COMPILER: "g++" + BUILD_TYPE: "Release" + SQLITE3: "-DWITH_SQLITE3=1" + CXX_FLAGS: "-Werror -Wno-psabi" + LIBIDN: "-DWITH_LIBIDN=1" + SYSTEMD: "-DWITH_SYSTEMD=0" + commands: + - echo "building with parameters '-DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL'" + - mkdir build-alpine/ + - cd build-alpine/ + - cmake .. -DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL + - make everything -j$(nproc || echo 1) + + test-alpine: + depends_on: [build-alpine] + image: codeberg.org/biboumi/ci-test-alpine:latest + commands: + - cd build-alpine/ + - make check_junit || true; make check + - make e2e + + build-debian: + image: codeberg.org/biboumi/ci-test-debian:latest + environment: + COMPILER: "g++" + BUILD_TYPE: "Release" + SQLITE3: "-DWITH_SQLITE3=1" + CXX_FLAGS: "-Werror -Wno-psabi" + LIBIDN: "-DWITH_LIBIDN=1" + SYSTEMD: "-DWITH_SYSTEMD=1" + commands: + - echo "building with parameters '-DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL'" + - mkdir build-debian/ + - cd build-debian/ + - cmake .. -DCMAKE_CXX_FLAGS="$CXX_FLAGS" -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE $BOTAN $UDNS $SYSTEMD $LIBIDN $SQLITE3 $POSTGRESQL + - make everything -j$(nproc || echo 1) + + test-debian: + depends_on: [build-debian] + image: codeberg.org/biboumi/ci-test-debian:latest + commands: + - cd build-debian/ + - make check_junit || true; make check + - make e2e