1 Star 0 Fork 0

wen/gnutls

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.gitlab-ci.yml 22.92 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
stages:
- stage1-testing
# 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-ver14"
paths:
- cache/
before_script:
# CCache Config
- mkdir -p cache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/cache
- export CC="ccache gcc"
# With just one virtual core, parallel builds only make sense when
# I/O wait is involved. If too many parallel builds are used, the overall
# time even increases (e.g. due to more cache misses).
# $BUILDJOBS seems to be best with $(nproc)+1, while $CHECKJOBS can be much
# higher because several tests have a large I/O waiting time.
# The numbers are hard-coded since FreeBSD doesn't know the nproc command.
- export BUILDJOBS=2
- export CHECKJOBS=16
after_script:
# somehow after_script looses environment
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/cache
- ccache -s
variables:
BUILD_IMAGES_PROJECT: gnutls/build-images
DEBIAN_BUILD: buildenv-debian
DEBIAN_CROSS_BUILD: buildenv-debian-cross
DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross
FEDORA28_BUILD: buildenv-f28
FEDORA_BUILD: buildenv-fedora31
MINGW_BUILD: buildenv-mingw
ALPINE_BASE_BUILD: buildenv-alpine-base
CPPCHECK_OPTIONS: "--enable=warning --enable=style --enable=performance --enable=portability --std=c99 --suppressions-list=devel/cppcheck.suppressions -i lib/nettle/curve448 --template='{id}:{file}:{line},{severity},{message}'"
GET_SOURCES_ATTEMPTS: "3"
##################################################
# Stage 1, documentation, and advanced checks
##################################################
commit-check:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$ALPINE_BASE_BUILD
before_script:
- /bin/true
after_script:
- /bin/true
except:
- master@gnutls/gnutls
cache:
# do not load cache files
key: none
policy: pull
script:
# we want $ALPINE_BASE_BUILD without git, so add it here
- apk add git bash
- devel/check_if_signed
retry: 0
doc-dist.Fedora:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- SUBMODULE_NOFETCH=1 ./bootstrap
- GUILE=/usr/bin/guile2.2
- GUILD=/usr/bin/guild2.2
- guile_snarf=/usr/bin/guile-snarf2.2
- export GUILE GUILD guile_snarf
- CFLAGS="-std=c99 -O2 -g" dash ./configure --disable-gcc-warnings --cache-file cache/config.cache --prefix=/usr --libdir=/usr/lib64 --disable-cxx --disable-non-suiteb-curves --enable-gtk-doc --disable-maintainer-mode
- make -j$BUILDJOBS -C doc stamp-vti
- make -j$BUILDJOBS -C doc stamp-1
- make -j$BUILDJOBS -C doc stamp_enums
- make -j$BUILDJOBS
- make -j$BUILDJOBS -C doc gnutls.html
- make -j$BUILDJOBS -C doc/latex gnutls.pdf
- DB2EPUBDIR=$(dirname $(find /usr/share/sgml/docbook/xsl-ns-stylesheets-*/epub/bin/ -name dbtoepub -print))
- PATH="$PATH:$DB2EPUBDIR" make -C doc gnutls.epub
# check whether distribution with or without included libopts is ok
- make -j$CHECKJOBS distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-local-libopts --disable-tests"
- make -j$CHECKJOBS distcheck
tags:
- shared
- linux
except:
- tags
retry: 1
abi/coverage:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- SUBMODULE_NOFETCH=1 ./bootstrap
- GUILE=/usr/bin/guile2.2
- GUILD=/usr/bin/guild2.2
- guile_snarf=/usr/bin/guile-snarf2.2
- export GUILE GUILD guile_snarf
- CFLAGS="-g -Og" dash ./configure --disable-gcc-warnings --cache-file cache/config.cache --prefix=/usr --libdir=/usr/lib64 --enable-code-coverage --disable-maintainer-mode --disable-doc
- make -j$BUILDJOBS
- make abi-check
- make pic-check
- make -j$CHECKJOBS check
- make local-code-coverage-output || true
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.xml
- ./gnutls-prev-abi.tmp/
- compat_reports/
- ./*.log
- tests/*.log
- tests/*/*.log
- tests/suite/*/*.log
- guile/tests/*.log
retry: 1
minimal.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- echo "No tools build"
- ./bootstrap
- dash ./configure --cache-file cache/config.cache --disable-gcc-warnings --disable-full-test-suite --disable-doc --disable-guile --disable-tools --enable-tests
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
- echo "Minimal build"
- dnf remove -y libunistring-devel libtasn1-devel libidn-devel
- dash ./configure --cache-file cache/config.cache --with-included-libtasn1
--disable-doc --disable-dtls-srtp-support --disable-alpn-support --disable-tests
--disable-heartbeat-support --disable-srp-authentication --disable-psk-authentication
--disable-anon-authentication --disable-dhe --disable-ecdhe
--disable-ocsp --disable-non-suiteb-curves --with-included-unistring
--disable-nls --disable-libdane --without-p11-kit --without-tpm
--disable-ssl3-support --disable-ssl2-support --disable-doc --enable-openssl-compatibility
--disable-gcc-warnings --with-system-priority-file=""
--disable-gost
--disable-guile
- make clean
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- tests/*/*.log
- tests/suite/*/*.log
retry: 1
# This enables SSL3.0 and SHA-1 support, and runs interop tests
# with openssl 1.1.0, which include legacy algorithms like DSA.
SSL-3.0.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA28_BUILD
script:
- ./bootstrap
- mkdir -p build
- cd build
- dash ../configure --disable-tls13-interop --disable-gcc-warnings --cache-file ../cache/config.cache --enable-sha1-support --enable-ssl3-support --enable-seccomp-tests --disable-doc --disable-guile --disable-strict-der-time
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
- cd ..
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/tests/*.log
- build/*.log
- build/tests/*/*.log
- build/tests/suite/*/*.log
retry: 1
FIPS140-2.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- mkdir -p build
- cd build
- dash ../configure --disable-gcc-warnings --cache-file ../cache/config.cache --disable-non-suiteb-curves --enable-fips140-mode --disable-doc --disable-full-test-suite --disable-guile
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
- mkdir -p lib/.libs/fipscheck
- fipshmac -d lib/.libs/fipscheck/ -s .hmac lib/.libs/libgnutls.so*
- GNUTLS_FORCE_FIPS_MODE=1 make -j$CHECKJOBS check
- cd ..
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/tests/*.log
- build/tests/*/*.log
retry: 1
valgrind.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
# gcc in fedora31 inlines strcmp in a way that causes valgrind errors
- CFLAGS="-O2 -g -fno-builtin-strcmp" ./configure --disable-gcc-warnings --disable-doc --cache-file cache/config.cache --disable-guile --disable-full-test-suite --enable-valgrind-tests
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- tests/*.log
- tests/*/*.log
retry: 1
threadsan.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- CFLAGS="-fsanitize=thread -g -O2" CXXFLAGS=$CFLAGS
dash ./configure --disable-gcc-warnings --disable-doc --cache-file cache/config.cache --disable-non-suiteb-curves --disable-guile --enable-fips140-mode --disable-full-test-suite
- make -j$BUILDJOBS
- make -j$CHECKJOBS -C tests check SUBDIRS=. TESTS="tls-pthread dtls-pthread fips-mode-pthread rng-pthread" TSAN_OPTIONS="suppressions=$(pwd)/devel/tsan.supp" GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS=1 GNUTLS_FORCE_FIPS_MODE=1
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- tests/*/*.log
- tests/suite/*/*.log
retry: 1
static-analyzers.Fedora.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
before_script:
- /bin/true
script:
- ./bootstrap
- scan-build ./configure --cache-file cache/config.cache --disable-doc --disable-guile --enable-fips140-mode
- make -j$BUILDJOBS syntax-check gnulib_dir=$GNULIB_SRCDIR
- make -j$BUILDJOBS -C gl
- scan-build --status-bugs -o scan-build-lib make -j$BUILDJOBS -C lib
- scan-build --status-bugs -o scan-build-lib make -j$BUILDJOBS -C libdane
- make -j$BUILDJOBS -C src/gl
- scan-build --status-bugs -o scan-build-lib make -j$BUILDJOBS -C src
- cppcheck --force -q -Ilib/include -Igl/ -Ilib/ -I. --error-exitcode=1 lib/ -i lib/unistring -i lib/minitasn1 -i lib/nettle/backport -j2 $CPPCHECK_OPTIONS
- cppcheck --force -q -Ilib/include -Igl/ -Ilibdane/ -I. --error-exitcode=1 libdane/ -j2 $CPPCHECK_OPTIONS
after_script:
- /bin/true
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- scan-build-lib/*
- scan-build-libdane/*
retry: 1
MinGW32.DLLs:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
script:
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- ./bootstrap
- export CC="ccache i686-w64-mingw32-gcc"
- export WINEPATH=/usr/i686-w64-mingw32/sys-root/mingw/bin
- dash ./configure --disable-gcc-warnings --host=i686-w64-mingw32 --target=i686-w64-mingw32 --cache-file cache/config.cache --with-included-libtasn1 --disable-nls --disable-guile --with-included-unistring --enable-local-libopts --disable-non-suiteb-curves --disable-full-test-suite --disable-doc
- mingw32-make -j$BUILDJOBS
- mingw32-make -j$BUILDJOBS -C tests check
# Combine generated apps and DLLs.
#libwinpthread is required by libgcc
#libffi is required by libp11-kit
- mkdir -p win32-build/bin win32-build/lib/includes
- cp lib/.libs/*.dll src/.libs/*.exe win32-build/bin
- i686-w64-mingw32-strip --strip-unneeded win32-build/bin/*.dll
- i686-w64-mingw32-strip win32-build/bin/*.exe
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libp11-*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libnettle-*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libhogweed-*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libgmp-*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libgcc*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libwinpthread*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libidn2-*.dll win32-build/bin
- cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libffi-*.dll win32-build/bin
- cp lib/.libs/*.a lib/*.def lib/gnutls.pc win32-build/lib
- cp lib/includes/gnutls/*.h win32-build/lib/includes
tags:
- shared
- docker
- linux
only:
- tags
artifacts:
name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
paths:
- win32-build/
retry: 1
MinGW64.DLLs:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
script:
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- ./bootstrap
- export CC="ccache x86_64-w64-mingw32-gcc"
- export WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin
- dash ./configure --disable-gcc-warnings --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --cache-file cache/config.cache --with-included-libtasn1 --disable-guile --disable-nls --with-included-unistring --enable-local-libopts --disable-non-suiteb-curves --disable-full-test-suite --disable-doc
- mingw64-make -j$BUILDJOBS
- mingw64-make -j$BUILDJOBS -C tests check
# Combine generated apps and DLLs.
#libwinpthread is required by libgcc
#libffi is required by libp11-kit
- mkdir -p win64-build/bin win64-build/lib/includes
- cp lib/.libs/*.dll src/.libs/*.exe win64-build/bin
- x86_64-w64-mingw32-strip --strip-unneeded win64-build/bin/*.dll
- x86_64-w64-mingw32-strip win64-build/bin/*.exe
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libp11-*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libnettle-*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libhogweed-*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgmp-*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libidn2-*.dll win64-build/bin
- cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libffi-*.dll win64-build/bin
- cp lib/.libs/*.a lib/*.def lib/gnutls.pc win64-build/lib
- cp lib/includes/gnutls/*.h win64-build/lib/includes
tags:
- shared
- docker
- linux
only:
- tags
artifacts:
name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
paths:
- win64-build/
retry: 1
MinGW64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
script:
- ./bootstrap
- export CC="ccache x86_64-w64-mingw32-gcc"
- export WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine64:' > /proc/sys/fs/binfmt_misc/register
- mkdir -p build
- cd build
- dash ../configure --disable-gcc-warnings --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --cache-file ../cache/config.cache --with-included-libtasn1 --disable-guile --disable-nls --with-included-unistring --enable-local-libopts --disable-full-test-suite --disable-non-suiteb-curves --disable-doc
# generate the certtool autogen file to check whether later compilation will modify it
- mingw64-make -j$BUILDJOBS -C src certtool-args.c.bak
- mingw64-make -j$BUILDJOBS
- mingw64-make -j$CHECKJOBS -C tests check
- cd ..
# since we use --enable-local-libopts the generated files must equal the .bak
- cmp build/src/certtool-args.c build/src/certtool-args.c.bak || false
tags:
- shared
- docker
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
retry: 1
MinGW32:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
script:
- ./bootstrap
- export CC="ccache i686-w64-mingw32-gcc"
- export WINEPATH=/usr/i686-w64-mingw32/sys-root/mingw/bin
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- mkdir -p build
- cd build
- dash ../configure --disable-gcc-warnings --host=i686-w64-mingw32 --target=i686-w64-mingw32 --cache-file ../cache/config.cache --with-included-libtasn1 --disable-guile --disable-nls --with-included-unistring --enable-local-libopts --disable-full-test-suite --disable-non-suiteb-curves --disable-doc
- mingw32-make -j$BUILDJOBS
- mingw32-make -j$CHECKJOBS -C tests check
- cd ..
tags:
- shared
- docker
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
retry: 1
# That is a specific runner that we cannot enable universally.
# We restrict it to builds under the $BUILD_IMAGES_PROJECT project.
FreeBSD.x86_64:
stage: stage1-testing
image:
script:
- export CC="ccache clang"
- ./bootstrap
- export LDFLAGS="-L/usr/local/lib"
- ./configure --disable-full-test-suite
--cache-file cache/config.cache --disable-gcc-warnings --disable-guile --disable-doc
- gmake -j$(sysctl hw.ncpu | awk '{print $2}')
- gmake check -j$(sysctl hw.ncpu | awk '{print $2}')
tags:
- freebsd
only:
- branches@gnutls/gnutls
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- tests/*.log
- tests/*/*.log
retry: 1
# Two runs, one with normal backend and another with pkcs11 trust store
UB+ASAN-Werror.Fedora.x86_64.gcc:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- export UBSAN_OPTIONS=print_stacktrace=1
- export LSAN_OPTIONS=suppressions=$(pwd)/devel/lsan.supp
- export CFLAGS="-std=c99 -O1 -g -Wno-cpp -Werror -fno-omit-frame-pointer -fsanitize=undefined,bool,alignment,null,enum,bounds-strict,address,leak,nonnull-attribute -fno-sanitize-recover=all -fsanitize-address-use-after-scope"
- export CXXFLAGS="$CFLAGS"
- dash ./configure --cache-file cache/config.cache --disable-guile --disable-doc --disable-hardware-acceleration
- sed -i 's/-Werror/-Wno-parentheses -Werror/g' src/Makefile
- make -j$BUILDJOBS
# Use $BUILDJOBS since the fuzzers should use mainly CPU (no blocking I/O)
- make -j$BUILDJOBS check -C fuzz
- make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x1
- make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x2
- make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x4
- make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x8
- make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x20
- make -j$CHECKJOBS check -C tests
- dash ./configure --cache-file cache/config.cache --disable-guile --disable-doc --disable-hardware-acceleration --with-default-trust-store-pkcs11="pkcs11:" --with-system-priority-file=/etc/crypto-policies/back-ends/gnutls.config --with-default-priority-string=@SYSTEM
- make clean
- sed -i 's/-Werror/-Wno-parentheses -Werror/g' src/Makefile
- make -j$BUILDJOBS
# Use $BUILDJOBS since most of the job is building all tests, then just running 4 tests
- make -j$BUILDJOBS check -C tests TESTS="trust-store p11-kit-load.sh priority-init2 set-default-prio" SUBDIRS=.
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- guile/tests/*.log
- ./*.log
- fuzz/*.log
- tests/*.log
- tests/*/*.log
- tests/suite/*/*.log
retry: 1
# This includes interoperability testing with gnutls 2.12.x
Debian.x86_64:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
script:
- ./bootstrap
- mkdir -p build
- cd build
- dash ../configure --enable-oldgnutls-interop --disable-gcc-warnings --cache-file ../cache/config.cache --disable-doc --disable-guile LDFLAGS='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now'
- make -j$BUILDJOBS
- make -j$CHECKJOBS check
- cd ..
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
- build/tests/suite/*/*.log
retry: 1
Debian.cross.i686-linux-gnu:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_X86_CROSS_BUILD
script:
- build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
- host=i686-linux-gnu
# not setting CC_FOR_BUILD paired with qemu-user/binfmt somehow causes
# config.guess to detect the target as the build platform and not activate
# cross-compile mode even though --build is given
- export CC_FOR_BUILD="ccache gcc"
- export CC="ccache $host-gcc"
- ./bootstrap
- mkdir -p build
- cd build
# Debian's softhsm package is not multiarch yet. Missing softhsm libraries
# for the target will cause the test suite to fail when p11-kit is enabled.
- dash ../configure --build=$build --host=$host --disable-gcc-warnings
--cache-file ../cache/config.cache --disable-doc --disable-guile
--without-p11-kit --disable-full-test-suite
- make -j$BUILDJOBS
- make pic-check
# Parallel tests cause random failures, likely timing errors
- make -j1 check
- cd ..
tags:
- shared
- docker
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
- build/tests/suite/*/*.log
retry: 1
.Debian.cross.template: &Debian_cross_template
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
script:
- build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
- host="${CI_JOB_NAME#*.cross.}"
# not setting CC_FOR_BUILD paired with qemu-user/binfmt somehow causes
# config.guess to detect the target as the build platform and not activate
# cross-compile mode even though --build is given
- export CC_FOR_BUILD="ccache gcc"
- export CC="ccache $host-gcc"
- ./bootstrap
- sed -i '/errno.==.EINVAL/d' gl/tests/test-strerror.c
- mkdir -p build
- cd build
# Debian's softhsm package is not multiarch yet. Missing softhsm libraries
# for the target will cause the test suite to fail when p11-kit is enabled.
- dash ../configure --build=$build --host=$host --disable-gcc-warnings
--cache-file ../cache/config.cache --disable-doc --disable-guile
--without-p11-kit --disable-full-test-suite
- make -j$BUILDJOBS
# Parallel tests cause random failures, likely timing errors
- make -j1 check
- cd ..
tags:
- shared
- docker
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
- build/tests/suite/*/*.log
retry: 1
Debian.cross.arm-linux-gnueabihf:
<<: *Debian_cross_template
Debian.cross.mips-linux-gnu:
<<: *Debian_cross_template
Debian.cross.aarch64-linux-gnu:
<<: *Debian_cross_template
nettle-master.Fedora:
stage: stage1-testing
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- git clone --depth 1 --branch master https://gitlab.com/gnutls/nettle.git nettle-git
- export NETTLE_DIR=${PWD}/nettle
- pushd nettle-git
- ./.bootstrap
- ./configure --disable-documentation --prefix=$NETTLE_DIR
- make -j$BUILDJOBS
- make -j$BUILDJOBS install
- popd
- SUBMODULE_NOFETCH=1 ./bootstrap
- PKG_CONFIG_PATH=$NETTLE_DIR/lib64/pkgconfig dash ./configure --cache-file cache/config.cache --disable-gcc-warnings --disable-doc --disable-guile
- make -j$BUILDJOBS
- PKG_CONFIG_PATH=$NETTLE_DIR/lib64/pkgconfig LD_LIBRARY_PATH=$NETTLE_DIR/lib64 make -j$CHECKJOBS check
tags:
- shared
- linux
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- ./*.log
- fuzz/*.log
- tests/*.log
- tests/*/*.log
- tests/suite/*/*.log
retry: 1
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kinpar_wen/gnutls.git
[email protected]:kinpar_wen/gnutls.git
kinpar_wen
gnutls
gnutls
master

搜索帮助