From 03e8efaeeb6234ca9f7edea108719191e4effb30 Mon Sep 17 00:00:00 2001 From: Tim Rühsen Date: Thu, 22 Feb 2018 15:43:07 +0100 Subject: New file .gitlab-ci.yml --- .gitlab-ci.yml | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .gitlab-ci.yml (limited to '.gitlab-ci.yml') diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..bc8f81ef --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,92 @@ +# we utilize the images generated by the build-images project, to +# speed up CI runs. We also use ccache and store config.cache +# to speed up compilation. We include a version number in cache +# name to allow expiration of old caches. + +cache: + key: "$CI_JOB_NAME-ver1" + paths: + - cache/ + +before_script: + # CCache Config + - mkdir -p cache + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/cache + - export CC="ccache gcc" + +after_script: + # somehow after_script looses environment + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/cache + - ccache -s + +variables: + BUILD_IMAGES_PROJECT: libmicrohttpd/build-images + DEBIAN_BUILD: buildenv-debian-stretch + GET_SOURCES_ATTEMPTS: "3" + CONFIGURE_BASE_FLAGS: --enable-asserts --cache-file cache/config.cache + CFLAGS_DEFAULT: -O0 -g -ggdb3 + +# In this build we combine +# * gcc +# * check, distcheck +gcc/Stretch: + image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD + script: + - export CFLAGS=$CFLAGS_DEFAULT + - ./bootstrap + - ./configure $CONFIGURE_BASE_FLAGS + - make -j$(nproc) + - make -j$(nproc) check + - make -j$(nproc) distcheck + tags: + - shared + artifacts: + expire_in: 2 weeks + when: on_failure + paths: + - ./*.log + - src/microhttpd/*.log + +# In this build we combine +# * clang +# * ASan, UBSan +# * check, distcheck +Sanitizers/Stretch: + image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD + script: + - export CFLAGS="$CFLAGS_DEFAULT -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address" + - ./bootstrap + - export CC="ccache clang" + - export UBSAN_OPTIONS=print_stacktrace=1 + - export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.8/bin/llvm-symbolizer + - ./configure $CONFIGURE_BASE_FLAGS --disable-doc + - make -j$(nproc) check + - make -j$(nproc) distcheck + tags: + - shared + artifacts: + expire_in: 2 weeks + when: on_failure + paths: + - ./*.log + - src/microhttpd/*.log + +Scan-Build/Debian: + image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD + script: + - export CFLAGS=$CFLAGS_DEFAULT + - ./bootstrap + - scan-build ./configure $CONFIGURE_BASE_FLAGS + - scan-build -v -enable-checker security,nullability --status-bugs -o scan-build make -j$(nproc) + - scan-build -v -enable-checker security,nullability --status-bugs -o scan-build make -j$(nproc) check + tags: + - shared + except: + - tags + artifacts: + expire_in: 2 weeks + when: on_failure + paths: + - scan-build/* -- cgit v1.2.3