diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b768c0e2..a490e9e2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,29 @@ image: centos:7 +Build/Debian: + image: debian:stretch + script: + - apt-get update + - apt-get install -y openconnect libuid-wrapper libpam-wrapper libnss-wrapper libsocket-wrapper gss-ntlmssp git-core make autoconf libtool autopoint gettext automake nettle-dev libwrap0-dev libpam0g-dev liblz4-dev libseccomp-dev libreadline-dev libnl-route-3-dev libkrb5-dev liboath-dev libradcli-dev libprotobuf-c0-dev libtalloc-dev libhttp-parser-dev libpcl1-dev libopts25-dev autogen protobuf-c-compiler gperf liblockfile-bin nuttcp libpam-oath libev-dev libgnutls28-dev + - git submodule update --init && autoreconf -fvi && mkdir -p build && cd build && + ../configure --without-root-tests && make -j$(nproc) && make check -j$(nproc) + tags: + - shared + except: + - tags + artifacts: + expire_in: 1 week + when: on_failure + paths: + - build/*.log + - build/tests/*.log + Build/Centos7: script: - yum install -y epel-release - yum install -y openconnect git which xz autoconf libtool automake gettext-devel gnutls-devel libev-devel tcp_wrappers-devel pam-devel lz4-devel libseccomp-devel readline-devel libnl3-devel krb5-devel liboath-devel radcli-devel protobuf-c-devel libtalloc-devel http-parser-devel pcllib-devel autogen-libopts-devel autogen protobuf-c gperf lockfile-progs nuttcp lcov uid_wrapper pam_wrapper nss_wrapper socket_wrapper gssntlmssp pam_oath gnutls-utils git2cl - git submodule update --init && autoreconf -fvi && mkdir -p build && cd build && - ../configure --without-root-tests --enable-code-coverage && make -j4 && make check -j4 && make code-coverage-capture && + ../configure --without-root-tests --enable-code-coverage && make -j$(nproc) && make check -j$(nproc) && make code-coverage-capture && make local-code-coverage-output && make files-update && make SKIP_LIBOPTS_CHECK=1 dist tags: - shared @@ -23,7 +41,7 @@ Build/Fedora24: script: - dnf install -y openconnect git which xz autoconf libtool automake gettext-devel gnutls-devel libev-devel tcp_wrappers-devel pam-devel lz4-devel libseccomp-devel readline-devel libnl3-devel krb5-devel liboath-devel radcli-devel protobuf-c-devel libtalloc-devel http-parser-devel pcllib-devel autogen-libopts-devel autogen protobuf-c gperf lockfile-progs nuttcp lcov uid_wrapper pam_wrapper nss_wrapper socket_wrapper gssntlmssp pam_oath gnutls-utils git2cl - git submodule update --init && autoreconf -fvi && mkdir -p build && cd build && - ../configure --without-root-tests --enable-code-coverage && make -j4 && make check -j4 && make code-coverage-capture && + ../configure --without-root-tests --enable-code-coverage && make -j$(nproc) && make check -j$(nproc) && make code-coverage-capture && make local-code-coverage-output && make files-update && make SKIP_LIBOPTS_CHECK=1 dist tags: - shared @@ -43,7 +61,7 @@ Build/Centos6: - yum install -y openconnect git which xz autoconf libtool automake gettext-devel gnutls30-devel libev-devel tcp_wrappers-devel pam-devel lz4-devel libseccomp-devel readline-devel libnl3-devel krb5-devel liboath-devel radcli-devel protobuf-c-devel libtalloc-devel http-parser-devel pcllib-devel protobuf-c gperf lockfile-progs nuttcp uid_wrapper pam_wrapper nss_wrapper socket_wrapper gssntlmssp pam_oath gnutls-utils git2cl - sed -i 's/AM_PROG_AR//g' configure.ac - git submodule update --init && autoreconf -fvi && mkdir -p build - - cd build && CFLAGS="$CFLAGS -I/usr/include/libev -I/usr/include/gnutls30" LIBGNUTLS_LIBS="-L/usr/lib64/gnutls30/ -lgnutls" PKG_CONFIG_LIBDIR="/usr/lib64/gnutls30/pkgconfig:/usr/lib64/pkgconfig" ../configure --disable-systemd --enable-local-libopts --without-root-tests && make && make check -j4 + - cd build && CFLAGS="$CFLAGS -I/usr/include/libev -I/usr/include/gnutls30" LIBGNUTLS_LIBS="-L/usr/lib64/gnutls30/ -lgnutls" PKG_CONFIG_LIBDIR="/usr/lib64/gnutls30/pkgconfig:/usr/lib64/pkgconfig" ../configure --disable-systemd --enable-local-libopts --without-root-tests && make && make check -j$(nproc) tags: - shared except: @@ -60,7 +78,7 @@ Build/minimal: - yum install -y epel-release - yum install -y openconnect git which xz autoconf libtool automake gettext-devel gnutls-devel libev-devel tcp_wrappers-devel pam-devel lz4-devel libseccomp-devel readline-devel libnl3-devel krb5-devel liboath-devel radcli-devel protobuf-c-devel libtalloc-devel http-parser-devel pcllib-devel autogen-libopts-devel autogen protobuf-c gperf lockfile-progs nuttcp lcov uid_wrapper pam_wrapper nss_wrapper socket_wrapper gssntlmssp pam_oath gnutls-utils git2cl - git submodule update --init && autoreconf -fvi && - ./configure --without-root-tests --without-libnl --without-liboath --without-pam --without-radius --without-utmp --without-libwrap --without-http-parser --without-lz4 --without-gssapi --without-pcl-lib --without-protobuf && make -j4 && make check -j4 + ./configure --without-root-tests --without-libnl --without-liboath --without-pam --without-radius --without-utmp --without-libwrap --without-http-parser --without-lz4 --without-gssapi --without-pcl-lib --without-protobuf && make -j$(nproc) && make check -j$(nproc) tags: - shared except: @@ -77,7 +95,7 @@ Build/asan: - yum install -y epel-release - yum install -y openconnect git which xz autoconf libtool automake gettext-devel libasan-static libasan gnutls-devel libev-devel tcp_wrappers-devel pam-devel lz4-devel libseccomp-devel readline-devel libnl3-devel krb5-devel liboath-devel radcli-devel protobuf-c-devel libtalloc-devel http-parser-devel pcllib-devel autogen-libopts-devel autogen protobuf-c gperf lockfile-progs nuttcp lcov uid_wrapper pam_wrapper nss_wrapper socket_wrapper gssntlmssp pam_oath gnutls-utils git2cl - git submodule update --init && autoreconf -fvi && CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan" && - ./configure --without-root-tests && make -j4 && make check -j4 + ./configure --without-root-tests && make -j$(nproc) && make check -j$(nproc) tags: - shared except: @@ -92,7 +110,7 @@ Build/asan: Build/FreeBSD: script: - git submodule update --init && sh autogen.sh && LIBS="-L/usr/local/lib" ./configure --disable-nls --without-root-tests && - gmake -j4 && gmake check -j4 + gmake -j$(sysctl hw.ncpu | awk '{print $2}') && gmake check -j$(sysctl hw.ncpu | awk '{print $2}') tags: - freebsd only: