.gitlab-ci.yml: move to fedora29 for CI
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 5 Nov 2018 19:51:33 +0000 (20:51 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 9 Nov 2018 06:21:18 +0000 (07:21 +0100)
This also moves the x86 CI builds to the debian cross infrastructure
as we have a more reliable way of generating a 32-bit image.

Resolves #607

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
.gitlab-ci.yml

index d86bb5c17a95f1805050db67f52df425a3180d86..3e53b95a9b439b4e5acf1c2bd53a9dd1a6a51cf0 100644 (file)
@@ -7,7 +7,7 @@ stages:
 # name to allow expiration of old caches.
 
 cache:
-  key: "$CI_JOB_NAME-ver6"
+  key: "$CI_JOB_NAME-ver7"
   paths:
     - cache/
 
@@ -28,8 +28,9 @@ variables:
   BUILD_IMAGES_PROJECT: gnutls/build-images
   DEBIAN_BUILD: buildenv-debian
   DEBIAN_CROSS_BUILD: buildenv-debian-cross
-  FEDORA_BUILD: buildenv-f28
-  FEDORA_X86_BUILD: buildenv-f28-x86
+  DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross
+  FEDORA28_BUILD: buildenv-f28
+  FEDORA_BUILD: buildenv-f29
   CPPCHECK_OPTIONS: "--enable=warning --enable=style --enable=performance --enable=portability --std=c99 --suppressions-list=devel/cppcheck.suppressions --template='{id}:{file}:{line},{severity},{message}'"
   GET_SOURCES_ATTEMPTS: "3"
 
@@ -112,10 +113,11 @@ minimal.Fedora.x86_64:
   - tags
   retry: 1
 
-# This enables SSL3.0 and SHA-1 support
+# 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:$FEDORA_BUILD
+  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA28_BUILD
   script:
   - ./bootstrap
   - mkdir -p build && cd build &&
@@ -397,32 +399,6 @@ FreeBSD.x86_64:
       - tests/*/*.log
   retry: 1
 
-Fedora.x86:
-  stage: stage1-testing
-  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_X86_BUILD
-  script:
-  - ./bootstrap
-  - mkdir -p build && cd build &&
-    CC="ccache gcc -m32" PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig/ TIME_T_32_BIT_OK=yes
-    ../configure --disable-gcc-warnings --host=i686-redhat-linux --target=i686-redhat-linux
-      --libdir=/usr/lib --disable-cxx --disable-non-suiteb-curves --enable-seccomp-tests
-      --disable-full-test-suite --disable-doc --disable-guile --cache-file ../cache/config.cache &&
-    make -j$(nproc) && make check -j$(nproc) SKIP_DATEFUDGE_CHECK=1 &&
-    make pic-check
-  tags:
-  - shared
-  except:
-  - tags
-  artifacts:
-    expire_in: 1 week
-    when: on_failure
-    paths:
-      - build/*.log
-      - build/tests/*.log
-      - build/tests/*/*.log
-      - build/tests/suite/*/*.log
-  retry: 1
-
 # Two runs, one with normal backend and another with pkcs11 trust store
 ubsan-Werror.Fedora.x86_64:
   stage: stage1-testing
@@ -482,6 +458,44 @@ Debian.x86_64:
       - 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$(nproc)
+  - make check -j$(nproc)
+  - cd ..
+  tags:
+  - shared
+  - docker
+  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