libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

.gitlab-ci.yml (3198B)


      1 # we utilize the images generated by the build-images project, to
      2 # speed up CI runs. We also use ccache and store config.cache
      3 # to speed up compilation. We include a version number in cache
      4 # name to allow expiration of old caches.
      5 
      6 cache:
      7   key: "$CI_JOB_NAME-ver1"
      8   paths:
      9     - cache/
     10 
     11 before_script:
     12   # CCache Config
     13   - mkdir -p cache
     14   - export CCACHE_BASEDIR="${PWD}"
     15   - export CCACHE_DIR="${PWD}/cache"
     16   - export CC="ccache gcc"
     17 
     18 after_script:
     19   # somehow after_script looses environment
     20   - export CCACHE_BASEDIR="${PWD}"
     21   - export CCACHE_DIR="${PWD}/cache"
     22   - ccache -s
     23 
     24 variables:
     25   BUILD_IMAGES_PROJECT: libmicrohttpd/build-images
     26   DEBIAN_BUILD: buildenv-debian-stretch
     27   MINGW_BUILD: buildenv-debian-mingw
     28   GET_SOURCES_ATTEMPTS: "3"
     29   CONFIGURE_BASE_FLAGS: --cache-file cache/config.cache
     30   CFLAGS_DEFAULT: ""
     31 
     32 # In this build we combine
     33 #  * gcc
     34 #  * check
     35 gcc/Stretch:
     36   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
     37   script:
     38     - export CFLAGS="$CFLAGS_DEFAULT"
     39     - ./bootstrap
     40     - ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=debug --disable-sanitizers
     41     - make -j$(nproc) && make check
     42   artifacts:
     43     expire_in: 2 weeks
     44     when: on_failure
     45     paths:
     46       - ./*.log
     47       - src/*/*.log
     48       - src/*/*/*.log
     49 
     50 # In this build we combine
     51 #  * clang
     52 #  * ASan, UBSan
     53 #  * check
     54 Sanitizers/Stretch:
     55   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
     56   script:
     57     - export CFLAGS="$CFLAGS_DEFAULT"
     58     - ./bootstrap
     59     - export CC="ccache clang"
     60     - export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.8/bin/llvm-symbolizer
     61     - ./configure $CONFIGURE_BASE_FLAGS --disable-doc --enable-build-type=debug --enable-sanitizers
     62     - make -j$(nproc) && make check
     63   artifacts:
     64     expire_in: 2 weeks
     65     when: on_failure
     66     paths:
     67       - ./*.log
     68       - src/*/*.log
     69       - src/*/*/*.log
     70 
     71 Scan-Build/Debian:
     72   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
     73   script:
     74     - export CFLAGS="$CFLAGS_DEFAULT"
     75     - export CC="clang-3.8"
     76     - ./bootstrap
     77     - scan-build --use-cc=clang-3.8 ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=debug --disable-sanitizers
     78     - scan-build --use-cc="ccache clang-3.8" -v -enable-checker security,nullability --status-bugs -o scan-build make -j$(nproc)
     79     - scan-build --use-cc="ccache clang-3.8" -v -enable-checker security,nullability --status-bugs -o scan-build make -k check
     80   except:
     81     - tags
     82   artifacts:
     83     expire_in: 2 weeks
     84     when: on_failure
     85     paths:
     86       - scan-build/*
     87 
     88 MinGW/Debian:
     89   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
     90   script:
     91     - export CFLAGS="$CFLAGS_DEFAULT"
     92     - export CC="ccache $PREFIX-gcc"
     93     - ./bootstrap
     94     - ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-build-type=release
     95     - make -j$(nproc)
     96 
     97 dist/Stretch:
     98   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
     99   script:
    100     - export CFLAGS="$CFLAGS_DEFAULT"
    101     - ./bootstrap
    102     - ./configure $CONFIGURE_BASE_FLAGS --enable-build-type=release
    103     - make -j$(nproc) dist
    104   artifacts:
    105     name: "$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
    106     expire_in: 2 weeks
    107     when: on_success
    108     paths:
    109       - ./libmicrohttpd-*.*.*.tar.??