mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
125 lines
3.3 KiB
YAML
125 lines
3.3 KiB
YAML
# 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
|
|
MINGW_BUILD: buildenv-debian-mingw
|
|
GET_SOURCES_ATTEMPTS: "3"
|
|
CONFIGURE_BASE_FLAGS: --cache-file cache/config.cache
|
|
CFLAGS_DEFAULT: ""
|
|
|
|
# In this build we combine
|
|
# * gcc
|
|
# * check
|
|
gcc/Stretch:
|
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
|
script:
|
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
|
- ./bootstrap
|
|
- ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=debug --disable-sanitizers
|
|
- make -j$(nproc) && make check
|
|
tags:
|
|
- shared
|
|
- linux
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
when: on_failure
|
|
paths:
|
|
- ./*.log
|
|
- src/*/*.log
|
|
- src/*/*/*.log
|
|
|
|
# In this build we combine
|
|
# * clang
|
|
# * ASan, UBSan
|
|
# * check
|
|
Sanitizers/Stretch:
|
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
|
script:
|
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
|
- ./bootstrap
|
|
- export CC="ccache clang"
|
|
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.8/bin/llvm-symbolizer
|
|
- ./configure $CONFIGURE_BASE_FLAGS --disable-doc --enable-build-type=debug --enable-sanitizers
|
|
- make -j$(nproc) && make check
|
|
tags:
|
|
- shared
|
|
- linux
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
when: on_failure
|
|
paths:
|
|
- ./*.log
|
|
- src/*/*.log
|
|
- src/*/*/*.log
|
|
|
|
Scan-Build/Debian:
|
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
|
script:
|
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
|
- export CC="clang-3.8"
|
|
- ./bootstrap
|
|
- scan-build --use-cc=clang-3.8 ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=debug --disable-sanitizers
|
|
- scan-build --use-cc="ccache clang-3.8" -v -enable-checker security,nullability --status-bugs -o scan-build make -j$(nproc)
|
|
- scan-build --use-cc="ccache clang-3.8" -v -enable-checker security,nullability --status-bugs -o scan-build make -k check
|
|
tags:
|
|
- shared
|
|
- linux
|
|
except:
|
|
- tags
|
|
artifacts:
|
|
expire_in: 2 weeks
|
|
when: on_failure
|
|
paths:
|
|
- scan-build/*
|
|
|
|
MinGW/Debian:
|
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
|
|
script:
|
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
|
- export CC="ccache $PREFIX-gcc"
|
|
- ./bootstrap
|
|
- ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-build-type=release
|
|
- make -j$(nproc)
|
|
tags:
|
|
- shared
|
|
- linux
|
|
|
|
dist/Stretch:
|
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
|
script:
|
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
|
- ./bootstrap
|
|
- ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=release
|
|
- make -j$(nproc) dist
|
|
tags:
|
|
- shared
|
|
- linux
|
|
artifacts:
|
|
name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
|
|
expire_in: 2 weeks
|
|
when: on_success
|
|
paths:
|
|
- ./libmicrohttpd-*.*.*.tar.??
|