diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e86d8d486115e0b2fdaf4c9d68c0bf2dd8842b1..94b254f297ce39f39ea1f280b30e9c2f7c8e8268 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,78 +2,87 @@ variables: BUILDENV_NATIVE_IMAGE: gnutls/nettle-build-images:buildenv-native BUILDENV_CLANG_IMAGE: gnutls/nettle-build-images:buildenv-clang BUILDENV_CROSS_IMAGE: gnutls/nettle-build-images:buildenv-cross - BUILD_IMAGES_PROJECT: gnutls/build-images - DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross GET_SOURCES_ATTEMPTS: "3" -# See http://doc.gitlab.com/ce/ci/yaml/ for documentation. -build/x86-64: +# "Native" means x86-64; no jobs run on anything else. +.native-build: image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE script: - - ./.bootstrap && - ./configure --disable-static --disable-documentation && make -j4 && - NETTLE_TEST_SEED=0 make check -j4 && - NETTLE_TEST_SEED=0 make check-fat - tags: - - shared - - linux - except: - - tags -build/mini-gmp: - image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE - script: - - ./.bootstrap && - ./configure --disable-documentation --disable-fat --enable-mini-gmp && make -j4 && - make check -j4 - tags: - - shared - - linux - except: - - tags -build/c89: - image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE - script: - - ./.bootstrap && - ./configure CC='gcc -std=c89' --disable-static --disable-assembler --disable-documentation && make -j4 && - NETTLE_TEST_SEED=0 make check -j4 - tags: - - shared - - linux - except: - - tags -build/ndebug: - image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE - script: - - ./.bootstrap && - ./configure CPPFLAGS='-DNDEBUG' --disable-static --disable-assembler --disable-documentation && make -j4 && - NETTLE_TEST_SEED=0 make check -j4 - tags: - - shared - - linux - except: - - tags -build/ubsan: - image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE - script: - - ./.bootstrap && - CXXFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" ./configure --disable-assembler - --disable-documentation && make -j4 && NETTLE_TEST_SEED=0 make check -j4 - tags: - - shared - - linux - except: - - tags -build/asan: - image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE - script: - - ./.bootstrap && - - CXXFLAGS="-fsanitize=address -g -O2" CFLAGS="-fsanitize=address -g -O2" ./configure --disable-documentation --disable-assembler && - make -j4 && NETTLE_TEST_SEED=0 make check -j4 + - ./.bootstrap + - './configure $EXTRA_CONFIGURE_ARGS --disable-documentation' + - 'make -j$(nproc)' + - 'make -j$(nproc) check $EXTRA_CHECK_TARGET' tags: - shared - linux except: - tags + variables: + NETTLE_TEST_SEED: '0' + artifacts: + expire_in: 1 week + when: always + paths: + - "config.log" + +native/fat: + extends: .native-build + variables: + EXTRA_CHECK: check-fat + +native/no-fat: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-fat' + +native/no-static: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-static' + +native/no-shared: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-static' + +native/32-bit: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--enable-mini-gmp' + CC: 'gcc -m32' + CXX: '/bin/false' + +native/mini-gmp: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--enable-mini-gmp' + +# FIXME: Need to defeat autoconf that automagically adds -std=gnu11. +native/c89: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-assembler' + CC: 'gcc -std=c89' + +native/ndebug: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: 'CPPFLAGS=-DNDEBUG --disable-assembler' + +native/ubsan: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-assembler' + CFLAGS: '-fsanitize=undefined -fno-sanitize-recover -g -O2' + CXXFLAGS: '-fsanitize=undefined -fno-sanitize-recover -g -O2' + +native/asan: + extends: .native-build + variables: + EXTRA_CONFIGURE_ARGS: '--disable-assembler' + CFLAGS: '-fsanitize=address -g -O2' + CXXFLAGS: '-fsanitize=address -g -O2' + build/static-analyzers: image: $CI_REGISTRY/$BUILDENV_CLANG_IMAGE script: @@ -90,6 +99,7 @@ build/static-analyzers: when: on_failure paths: - scan-build-lib/* + build/gnutls: image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE script: @@ -116,23 +126,6 @@ build/gnutls: - gnutls-git/*.log - gnutls-git/tests/*/*.log - gnutls-git/tests/suite/*/*.log -Debian.cross.x86: - image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_X86_CROSS_BUILD - before_script: - - apt-get remove -y nettle-dev:i386 - script: - - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE) - - host=i686-linux-gnu - - export CC_FOR_BUILD="gcc" - - export CC="$host-gcc" - - ./.bootstrap && - CFLAGS="-O2 -g" ./configure --build=$build --host=$host --disable-documentation && make -j4 && - NETTLE_TEST_SEED=0 make check -j4 - tags: - - shared - - linux - except: - - tags remote/s390x: image: $CI_REGISTRY/$BUILDENV_NATIVE_IMAGE