diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2025-08-07 19:19:11 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2025-08-11 10:00:44 +0200 |
commit | a6f272544855941c2f8081e727c51ad49955a937 (patch) | |
tree | dfbaf4c89554e890ba33321a1acd9dd02e136c69 /.ci | |
parent | a618ec0d2df347bb05787b5a6c109674698e5de9 (diff) | |
download | ouroboros-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>
Diffstat (limited to '.ci')
-rw-r--r-- | .ci/woodpecker/01-build.yaml | 111 |
1 files changed, 111 insertions, 0 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 + + |