diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-04-06 15:19:02 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-04-06 15:19:02 +0200 |
commit | 6ade368b0671da3ce36df51ed28115bb95c5607d (patch) | |
tree | f967317b9c98c4351c99c27d9cf0864cb335f083 | |
parent | 7729cff4af397157c10243ec0ffcf69655056f51 (diff) | |
download | gnutls_3_5_x-backport-smaller-gitlab-ci-yml.tar.gz |
.gitlab-ci.ymlgnutls_3_5_x-backport-smaller-gitlab-ci-yml
.gitlab-ci.yml: backported reduced runs from master
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | .gitlab-ci.yml | 212 |
1 files changed, 95 insertions, 117 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 31955c3ab2..bdc07e548c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,6 @@ stages: - initialization - stage1-testing - - stage2-testing # we utilize the images generated by the build-images project, to # speed up CI runs. @@ -22,80 +21,25 @@ init/Fedora/x86_64: image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - make autoreconf + - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --disable-non-suiteb-curves --disable-maintainer-mode --disable-guile + - make syntax-check + - make distclean tags: - shared artifacts: untracked: true - expire_in: 1 day - - -######################################## -# Stage 1, syntax and simple build+check -######################################## - -# Main build (used in stage2) - compile with C99 -ABI-check/Fedora/x86_64: - stage: stage1-testing - image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD - script: - - CFLAGS="-std=c99 -O2 -g" ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --enable-code-coverage --disable-non-suiteb-curves --disable-maintainer-mode --disable-doc - && make -j$(nproc) - - make abi-check - - make pic-check - tags: - - shared - except: - - tags - dependencies: - - init/Fedora/x86_64 - artifacts: - untracked: true expire_in: 4 days -syntax-check/Fedora/x86_64: - stage: stage1-testing - image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD - script: - - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --disable-non-suiteb-curves --disable-maintainer-mode --disable-guile - - make syntax-check - tags: - - shared - dependencies: - - init/Fedora/x86_64 - except: - - tags - -cppcheck/Fedora/x86_64: - stage: stage1-testing - image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD - script: - - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --disable-non-suiteb-curves --disable-maintainer-mode --disable-guile - - cppcheck --force -q -Ilib/include -Igl/ -Ilib/ -I. --error-exitcode=1 lib/ -i lib/unistring - - cppcheck --force -q -Ilib/include -Igl/ -Ilibdane/ -I. --error-exitcode=1 libdane/ - tags: - - shared - except: - - tags - dependencies: - - init/Fedora/x86_64 - artifacts: - expire_in: 1 week - when: on_failure - paths: - - ./*.log - - tests/*.log - - tests/*/*.log - ################################################## -# Stage 2, documentation, and advanced checks +# Stage 1, documentation, and advanced checks ################################################## -dist/Fedora: - stage: stage2-testing +doc-dist/Fedora: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - - git submodule update --init + - git submodule update --init --no-fetch - CFLAGS="-std=c99 -O2 -g" ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --disable-non-suiteb-curves --enable-gtk-doc --disable-maintainer-mode && make -C doc stamp-vti && make -C doc stamp-1 && make -j$(nproc) - make -C doc gnutls.html @@ -109,24 +53,39 @@ dist/Fedora: except: - tags -coverage/Fedora: - stage: stage2-testing +# ABI check + coverage +abi-coverage/Fedora: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: + - git submodule update --init --no-fetch + - CFLAGS="-std=c99 -O2 -g" ./configure --prefix=/usr --libdir=/usr/lib64 --disable-cxx --enable-code-coverage --disable-non-suiteb-curves --disable-maintainer-mode --disable-doc + && make -j$(nproc) + - make abi-check + - make pic-check - make -j$(nproc) check - make local-code-coverage-output || true tags: - shared dependencies: - - ABI-check/Fedora/x86_64 + - init/Fedora/x86_64 except: - tags - + artifacts: + expire_in: 1 week + when: always + paths: + - GnuTLS*-coverage/* minimal/Fedora/x86_64: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: + - echo "No tools build" + - ./configure --disable-full-test-suite --disable-doc --disable-guile --disable-tools --enable-tests + - make -j$(nproc) + - make -j$(nproc) check + - echo "Minimal build" - dnf remove -y libunistring-devel libtasn1-devel libidn-devel && ./configure --with-included-libtasn1 --enable-valgrind-tests --disable-doc --disable-dtls-srtp-support --disable-alpn-support --disable-rsa-export @@ -143,11 +102,11 @@ minimal/Fedora/x86_64: - tags no-SSL-3.0/Fedora/x86_64: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mkdir -p build && cd build && - ../configure --disable-ssl3-support --disable-ssl2-support --disable-non-suiteb-curves --enable-seccomp-tests --disable-doc --disable-guile && + ../configure --disable-ssl3-support --disable-ssl2-support --disable-full-test-suite --enable-seccomp-tests --disable-doc --disable-guile && make -j$(nproc) && make check -j$(nproc) tags: - shared @@ -163,13 +122,17 @@ no-SSL-3.0/Fedora/x86_64: - build/tests/*.log - build/*.log - build/tests/*/*.log + - build/tests/suite/*/*.log -clang/Fedora/x86_64: - stage: stage2-testing +FIPS140-2/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - - CC=clang ./configure --disable-non-suiteb-curves --enable-seccomp-tests --disable-doc --disable-guile && - make -j$(nproc) && make check -C tests -j$(nproc) + - mkdir -p build && cd build && + ../configure --disable-non-suiteb-curves --enable-fips140-mode --disable-doc --disable-full-test-suite --disable-guile + - make -j$(nproc) + - GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS=1 GNUTLS_FORCE_FIPS_MODE=1 make check -j$(nproc) + - make check -j$(nproc) tags: - shared except: @@ -177,23 +140,19 @@ clang/Fedora/x86_64: dependencies: - init/Fedora/x86_64 artifacts: - expire_in: 1 week when: on_failure paths: - - ./*.log - - guile/tests/*.log - - tests/*.log - - tests/*/*.log + - build/guile/tests/*.log + - build/tests/*.log + - build/tests/*/*.log -FIPS140-2/Fedora/x86_64: - stage: stage2-testing +IDNA2003/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mkdir -p build && cd build && - ../configure --disable-non-suiteb-curves --enable-fips140-mode --disable-doc --disable-full-test-suite --disable-guile - - make -j$(nproc) - - GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS=1 GNUTLS_FORCE_FIPS_MODE=1 make check -j$(nproc) - - make check -j$(nproc) + ../configure --without-libidn2 --disable-doc --disable-guile --disable-full-test-suite && + make -j$(nproc) && make check -j$(nproc) tags: - shared except: @@ -203,17 +162,19 @@ FIPS140-2/Fedora/x86_64: artifacts: when: on_failure paths: - - guile/tests/*.log + - build/guile/tests/*.log - build/tests/*.log - build/tests/*/*.log -IDNA2003/Fedora/x86_64: - stage: stage2-testing +no-openpgp/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mkdir -p build && cd build && - ../configure --without-libidn2 --disable-doc --disable-guile --disable-full-test-suite && - make -j$(nproc) && make check -j$(nproc) + ../configure --disable-openpgp-authentication --disable-doc --disable-guile --disable-full-test-suite + - make -j$(nproc) + - make abi-check + - make check -j$(nproc) tags: - shared except: @@ -223,16 +184,18 @@ IDNA2003/Fedora/x86_64: artifacts: when: on_failure paths: - - guile/tests/*.log + - build/guile/tests/*.log - build/tests/*.log - build/tests/*/*.log + - build/compat_reports/* valgrind/Fedora/x86_64: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - - ./configure - --disable-non-suiteb-curves --disable-doc --disable-guile --disable-full-test-suite --enable-valgrind-tests && make -j$(nproc) && make check -j$(nproc) + - ./configure --disable-doc --disable-guile --disable-full-test-suite --enable-valgrind-tests + - make -j$(nproc) + - make check -j$(nproc) tags: - shared except: @@ -247,12 +210,15 @@ valgrind/Fedora/x86_64: - tests/*.log - tests/*/*.log -no-tools/Fedora/x86_64: - stage: stage2-testing +asan/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - - ./configure - --disable-non-suiteb-curves --disable-doc --disable-guile --disable-tools --enable-tests && make -j$(nproc) && make -j$(nproc) check + - git submodule update --init --no-fetch + - CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan" + ./configure --disable-doc --disable-non-suiteb-curves --disable-guile + - make -j$(nproc) + - make check -j$(nproc) tags: - shared except: @@ -266,14 +232,18 @@ no-tools/Fedora/x86_64: - ./*.log - tests/*.log - tests/*/*.log + - tests/suite/*/*.log -asan/Fedora/x86_64: - stage: stage2-testing +static-analyzers/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - - CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan" - ./configure --disable-doc --disable-non-suiteb-curves --disable-guile && - make -j$(nproc) && make check -j$(nproc) + - scan-build ./configure --disable-doc --disable-guile --enable-fips140-mode --enable-valgrind-tests + - make -j$(nproc) -C gl + - scan-build --status-bugs -o scan-build-lib make -j$(nproc) -C lib + - scan-build --status-bugs -o scan-build-libdane make -j$(nproc) -C libdane + - cppcheck --force -q -Ilib/include -Igl/ -Ilib/ -I. --error-exitcode=1 lib/ -i lib/unistring + - cppcheck --force -q -Ilib/include -Igl/ -Ilibdane/ -I. --error-exitcode=1 libdane/ tags: - shared except: @@ -284,12 +254,11 @@ asan/Fedora/x86_64: expire_in: 1 week when: on_failure paths: - - ./*.log - - tests/*.log - - tests/*/*.log + - scan-build-lib/* + - scan-build-libdane/* MinGW32/DLLs: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc && @@ -327,7 +296,7 @@ MinGW32/DLLs: - win32-build/ MinGW64/DLLs: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc && @@ -365,7 +334,7 @@ MinGW64/DLLs: - win64-build/ MinGW64: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc && @@ -389,7 +358,7 @@ MinGW64: - build/tests/*/*.log MinGW32: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc && @@ -415,7 +384,7 @@ MinGW32: # That is a specific runner that we cannot enable universally. # We restrict it to builds under the $BUILD_IMAGES_PROJECT project. FreeBSD10/x86_64: - stage: stage2-testing + stage: stage1-testing image: before_script: - /usr/bin/true @@ -438,9 +407,10 @@ FreeBSD10/x86_64: # We need a clean 32-bit fedora for testing Fedora/x86: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_X86_BUILD script: + - git submodule update --init --no-fetch - make autoreconf && mkdir -p build && cd build && ../configure --build=i686-redhat-linux --target=i686-redhat-linux --disable-cxx --enable-local-libopts --disable-non-suiteb-curves --enable-seccomp-tests --disable-doc --disable-guile && make -j$(nproc) && make check -j$(nproc) && make pic-check @@ -456,14 +426,19 @@ Fedora/x86: - build/*.log - build/tests/*.log - build/tests/*/*.log + - build/tests/suite/*/*.log -# Check with undefined sanitizer + obtain coverage output -ubsan/Fedora/x86_64: - stage: stage2-testing +ubsan-Werror/Fedora/x86_64: + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD script: + - git submodule update --init --no-fetch - CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" LDFLAGS="-static-libubsan" ./configure --disable-non-suiteb-curves --disable-guile --disable-doc - && make -j$(nproc) && make check -j$(nproc) + - make -j$(nproc) -C gl + - make -j$(nproc) -C lib CFLAGS="-Werror -O2 -g" + - make -j$(nproc) -C libdane CFLAGS="-Werror -O2 -g" + - make -j$(nproc) + - make check -j$(nproc) tags: - shared except: @@ -477,11 +452,13 @@ ubsan/Fedora/x86_64: - ./*.log - tests/*.log - tests/*/*.log + - tests/suite/*/*.log build/Debian/x86_64: - stage: stage2-testing + stage: stage1-testing image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD script: + - git submodule update --init --no-fetch - make autoreconf && mkdir -p build && cd build && ../configure --disable-doc --disable-guile && make -j$(nproc) && make check -j$(nproc) @@ -497,3 +474,4 @@ build/Debian/x86_64: - build/*.log - build/tests/*.log - build/tests/*/*.log + - build/tests/suite/*/*.log |