ci: build & test in matrix build

build in alpine, debian and fedora and run all tests
This commit is contained in:
mathieui
2025-04-20 13:45:17 +02:00
parent 2f59303cf9
commit 0ece4f8316
+68 -3
View File
@@ -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