2 BUILD_IMAGES_PROJECT: gnutls/build-images
3 DEBIAN_CROSS_BUILD: buildenv-debian-cross
4 FEDORA_BUILD: buildenv-f29
5 DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross
6 GET_SOURCES_ATTEMPTS: "3"
8 # remove any pre-installed headers from nettle
10 - yum remove -y nettle-devel
12 # See http://doc.gitlab.com/ce/ci/yaml/ for documentation.
14 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
17 ./configure --disable-static --enable-fat --disable-documentation && make -j4 &&
24 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
27 ./configure --disable-documentation --enable-mini-gmp && make -j4 &&
34 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
37 ./configure CC='gcc -std=c89' --disable-static --disable-assembler --disable-documentation && make -j4 &&
44 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
47 ./configure CPPFLAGS='-DNDEBUG' --disable-static --disable-assembler --disable-documentation && make -j4 &&
54 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
57 CXXFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" ./configure
58 --disable-documentation && make -j4 && make check -j4
64 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
67 - CXXFLAGS="-fsanitize=address -g -O2" CFLAGS="-fsanitize=address -g -O2" ./configure --disable-documentation &&
68 make -j4 && make check -j4
73 build/static-analyzers:
74 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
77 - scan-build ./configure --disable-documentation
78 - scan-build --status-bugs -o scan-build-lib make -j$(nproc)
89 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
92 - ./configure --disable-documentation --prefix=/usr --libdir=/usr/lib64 &&
93 make -j4 && make install
94 - git clone --depth 1 --branch master https://gitlab.com/gnutls/gnutls.git gnutls-git
95 - cd gnutls-git && git submodule update --init && ./bootstrap &&
96 ./configure --disable-cxx --disable-guile --disable-doc && make -j$(nproc) &&
97 make -j $(nproc) check
106 - gnutls-git/guile/tests/*.log
107 - gnutls-git/tests/*.log
109 - gnutls-git/tests/*/*.log
110 - gnutls-git/tests/suite/*/*.log
112 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_X86_CROSS_BUILD
114 - apt-get remove -y nettle-dev:i386
116 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
117 - host=i686-linux-gnu
118 - export CC_FOR_BUILD="gcc"
119 - export CC="$host-gcc"
121 CFLAGS="-O2 -g" ./configure --build=$build --host=$host --enable-fat --disable-documentation && make -j4 &&
127 .Debian.cross.template: &Debian_cross_template
128 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
130 # remove any previously installed nettle headers to avoid conflicts
131 - for arch in armhf mips arm64;do apt-get remove -y nettle-dev:$arch;done
133 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
134 - host="${CI_JOB_NAME#*.cross.}"
135 # not setting CC_FOR_BUILD paired with qemu-user/binfmt somehow causes
136 # config.guess to detect the target as the build platform and not activate
137 # cross-compile mode even though --build is given
138 - export CC_FOR_BUILD="gcc"
139 - export CC="$host-gcc"
141 - ./configure --disable-static --enable-fat --disable-documentation --build=$build --host=$host
143 - make -j$(nproc) check
148 Debian.cross.arm-linux-gnueabihf:
149 <<: *Debian_cross_template
150 Debian.cross.mips-linux-gnu:
151 <<: *Debian_cross_template
152 Debian.cross.aarch64-linux-gnu:
153 <<: *Debian_cross_template