summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2025-08-07 19:19:11 +0200
committerSander Vrijders <sander@ouroboros.rocks>2025-08-11 10:00:44 +0200
commita6f272544855941c2f8081e727c51ad49955a937 (patch)
treedfbaf4c89554e890ba33321a1acd9dd02e136c69
parenta618ec0d2df347bb05787b5a6c109674698e5de9 (diff)
downloadouroboros-a6f272544855941c2f8081e727c51ad49955a937.tar.gz
ouroboros-a6f272544855941c2f8081e727c51ad49955a937.zip
ci: Add woodpecker CI workflow
This adds a Woodpecker CI workflow for compilation testing. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
-rw-r--r--.ci/woodpecker/01-build.yaml111
-rw-r--r--appveyor.yml33
2 files changed, 111 insertions, 33 deletions
diff --git a/.ci/woodpecker/01-build.yaml b/.ci/woodpecker/01-build.yaml
new file mode 100644
index 00000000..f8109c94
--- /dev/null
+++ b/.ci/woodpecker/01-build.yaml
@@ -0,0 +1,111 @@
+matrix:
+ IMAGE:
+ - dstaesse/debian:o7s
+ - dstaesse/ubuntu:o7s
+ FLAGS:
+ - ''
+ - -m32
+ COMPILER:
+ - clang
+ - gcc
+ BUILD_TYPE:
+ - Debug
+ - Release
+ DISABLE_FUSE:
+ - TRUE
+ - FALSE
+ DISABLE_OPENSSL:
+ - TRUE
+ - FALSE
+ DISABLE_LIBGCRYPT:
+ - TRUE
+ - FALSE
+ SANITIZER:
+ - DebugASan
+ - DebugUSan
+ - DebugLSan
+
+steps:
+ - name: build
+ image: ${IMAGE}
+ pull: true
+ when:
+ branch: [testing, be]
+ event: [push, pull_request]
+ 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
+ - mkdir build
+ - cd build
+ - CC=${COMPILER} cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DDISABLE_FUSE=${DISABLE_FUSE} \
+ -DDISABLE_OPENSSL=${DISABLE_OPENSSL} -DDISABLE_LIBGCRYPT=${DISABLE_LIBGCRYPT}
+ - make CFLAGS="${FLAGS}" -s -j2
+ - env CTEST_OUTPUT_ON_FAILURE=1 make CFLAGS="${FLAGS}" -s check
+ - cd ..
+ - rm -rf build
+
+ - name: sanitizers
+ image: ${IMAGE}
+ pull: true
+ when:
+ branch: [testing, be]
+ event: [push, pull_request]
+ 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
+ - mkdir build
+ - cd build
+ - CC=${COMPILER} cmake .. -DCMAKE_BUILD_TYPE=${SANITIZER} -DDISABLE_FUSE=${DISABLE_FUSE} \
+ -DDISABLE_OPENSSL=${DISABLE_OPENSSL} -DDISABLE_LIBGCRYPT=${DISABLE_LIBGCRYPT} \
+ - make -s -j2
+ - env CTEST_OUTPUT_ON_FAILURE=1 make -s check
+ - cd ..
+ - rm -rf build
+
+ - name: build (manual)
+ image: ${IMAGE}
+ pull: true
+ when:
+ 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
+ - mkdir build
+ - cd build
+ - CC=${COMPILER} cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DDISABLE_FUSE=${DISABLE_FUSE} \
+ -DDISABLE_OPENSSL=${DISABLE_OPENSSL} -DDISABLE_LIBGCRYPT=${DISABLE_LIBGCRYPT}
+ - make CFLAGS="${FLAGS}" -s -j2
+ - env CTEST_OUTPUT_ON_FAILURE=1 make CFLAGS="${FLAGS}" -s check
+ - cd ..
+ - rm -rf build
+
+ - name: sanitizers (manual)
+ image: ${IMAGE}
+ pull: true
+ when:
+ 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
+ - mkdir build
+ - cd build
+ - CC=${COMPILER} cmake .. -DCMAKE_BUILD_TYPE=${SANITIZER} -DDISABLE_FUSE=${DISABLE_FUSE} \
+ -DDISABLE_OPENSSL=${DISABLE_OPENSSL} -DDISABLE_LIBGCRYPT=${DISABLE_LIBGCRYPT} \
+ - make -s -j2
+ - env CTEST_OUTPUT_ON_FAILURE=1 make -s check
+ - cd ..
+ - rm -rf build
+
+
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index fc25d554..00000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-image:
- - Ubuntu2204
-
-platform:
- - x64
- - x86
-
-configuration:
- - Release
- - Debug
-
-environment:
- matrix:
- - CC: clang
- - CC: gcc
-
-install:
- - sudo apt-get update
- - sudo apt-get install clang
- - sudo apt-get install protobuf-c-compiler --yes
- - sudo apt-get install libprotobuf-c-dev --yes || true
- - sudo apt-get install libgcrypt20-dev libssl-dev libfuse-dev dnsutils --yes
-
-before_build:
- - mkdir -p build
- - cd build
- - cmake -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
-
-build_script:
- - make
-
-test_script:
- - env CTEST_OUTPUT_ON_FAILURE=1 make check