diff options
-rw-r--r-- | .gitlab-ci.yml | 42 | ||||
-rw-r--r-- | .travis.yml | 88 | ||||
-rwxr-xr-x | contrib/scripts/nm-ci-run.sh | 150 | ||||
-rwxr-xr-x | contrib/travis/travis-check.sh | 27 |
4 files changed, 164 insertions, 143 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 33c95bd957..700cb3d35b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,8 @@ stages: .fedora_install: &fedora_install before_script: - NM_INSTALL="dnf install -y" ./contrib/fedora/REQUIRED_PACKAGES + - dnf install -y glibc-langpack-pl + - locale -a checkpatch: image: fedora:28 @@ -24,45 +26,25 @@ checkpatch: paths: - checkpatch-out.txt -f28_build_default: +f28_build_autotools: <<: *fedora_install image: fedora:28 stage: test script: - - dnf install -y glibc-langpack-pl - - locale -a - - NOCONFIGURE=1 ./autogen.sh - - mkdir ./build - - cd ./build - - ../configure - --prefix="$PWD/INST" - --enable-gtk-doc=yes - --with-systemd-logind=yes - --enable-more-warnings=error - --enable-tests=yes - --with-crypto=gnutls - --with-libnm-glib=yes - --with-iwd=yes - --with-ofono=yes - --enable-teamdctl=yes - --with-dhcpcanon=yes - --with-dhcpcd=yes - --with-dhclient=yes - --with-netconfig=/bin/nowhere/netconfig - --with-resolvconf=/bin/nowhere/resolvconf - --enable-ifcfg-rh=yes - --enable-config-plugin-ibft=yes - --enable-ifupdown=yes - - make -j 6 - - make install - - NM_TEST_CLIENT_CHECK_L10N=1 make -j 6 -k check - - cd .. + - CI=gitlab BUILD_TYPE=autotools contrib/scripts/nm-ci-run.sh - mv build/INST/share/gtk-doc/html docs-html artifacts: expire_in: 1 day paths: - docs-html +f28_build_meson: + <<: *fedora_install + image: fedora:28 + stage: test + script: + - CI=gitlab BUILD_TYPE=meson contrib/scripts/nm-ci-run.sh + f28_rpm_autotools_dbg: <<: *fedora_install image: fedora:28 @@ -80,7 +62,7 @@ f28_rpm_meson_dbg: pages: stage: deploy dependencies: - - f28_build_default + - f28_build_autotools script: - mv docs-html public artifacts: diff --git a/.travis.yml b/.travis.yml index c96bb9496a..6dd6ae0491 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,94 +75,10 @@ before_install: popd fi - sudo chmod o+x /usr/sbin/pppd + - sudo locale-gen pl_PL.UTF-8 script: - - | - if test "$BUILD_TYPE" == 'meson'; then - if [ "$CC" == gcc ]; then - CRYPTO=nss - else - CRYPTO=gnutls - fi && - meson build \ - \ - -D ld_gc=false \ - -D session_tracking=no \ - -D systemdsystemunitdir=no \ - -D systemd_journal=false \ - -D selinux=false \ - -D libaudit=no \ - -D libpsl=false \ - -D vapi=false \ - -D introspection=false \ - -D qt=false \ - -D crypto=$CRYPTO \ - -D docs=false \ - \ - -D libnm_glib=true \ - -D iwd=true \ - -D ofono=true \ - -D teamdctl=false \ - \ - -D dhclient=/bin/nowhere/dhclient \ - -D dhcpcanon=/bin/nowhere/dhcpcanon \ - -D dhcpcd=/bin/nowhere/dhcpd \ - \ - -D netconfig=/bin/nowhere/netconfig \ - -D resolvconf=/bin/nowhere/resolvconf \ - \ - -D ifcfg_rh=false \ - -D ibft=true \ - -D ifupdown=true \ - && - ninja -C build && - ninja -C build test - fi - - | - if test "$BUILD_TYPE" == 'autotools'; then - if [ "$CC" == gcc ]; then - CRYPTO=gnutls - else - CRYPTO=nss - fi && - git clean -fdx && - NOCONFIGURE=1 ./autogen.sh && - mkdir ./build && - pushd ./build && - ../configure \ - --prefix="$PWD/INST" \ - --enable-gtk-doc=yes \ - --with-systemd-logind=no \ - --enable-more-warnings=no \ - --enable-tests=yes \ - --with-crypto=$CRYPTO \ - \ - --with-libnm-glib=yes \ - --with-iwd=yes \ - --with-ofono=yes \ - --enable-teamdctl=no \ - \ - --with-dhcpcanon=yes \ - --with-dhcpcd=yes \ - --with-dhclient=yes \ - \ - --with-netconfig=/bin/nowhere/netconfig \ - --with-resolvconf=/bin/nowhere/resolvconf \ - \ - --enable-ifcfg-rh=yes \ - --enable-config-plugin-ibft=yes \ - --enable-ifupdown=yes \ - && - make -j4 && - if [ "$CC" == gcc ]; then - sudo locale-gen pl_PL.UTF-8 && - sudo make install && - NM_TEST_CLIENT_CHECK_L10N=1 ../contrib/travis/travis-check.sh - else - ../contrib/travis/travis-check.sh - fi && - popd - fi + - CI=travis contrib/scripts/nm-ci-run.sh env: matrix: diff --git a/contrib/scripts/nm-ci-run.sh b/contrib/scripts/nm-ci-run.sh new file mode 100755 index 0000000000..ca98d8965f --- /dev/null +++ b/contrib/scripts/nm-ci-run.sh @@ -0,0 +1,150 @@ +#!/bin/bash + +set -exv + +die() { + printf "%s\n" "$@" + exit 1 +} + +############################################################################### + +if [ "$BUILD_TYPE" == meson ]; then + _TRUE=true + _FALSE=false +elif [ "$BUILD_TYPE" == autotools ]; then + _TRUE=yes + _FALSE=no +else + die "invalid BUILD_TYPE \"$BUILD_TYPE\"" +fi + +_WITH_CRYPTO="gnutls" +_WITH_MORE_WARNINGS="error" +_WITH_LIBTEAM="$_TRUE" +_WITH_DOCS="$_TRUE" +_WITH_SYSTEMD_LOGIND="$_TRUE" +if [ "$CI" == travis ]; then + _WITH_MORE_WARNINGS="no" + _WITH_LIBTEAM="$_FALSE" + _WITH_DOCS="$_FALSE" + _WITH_SYSTEMD_LOGIND="$_FALSE" +fi +if [ "$CI" == gitlab ]; then + : +fi +if [ "$CC" != gcc ]; then + _WITH_CRYPTO=nss +fi + +############################################################################### + +_autotools_test_print_logs() { + echo ">>>> PRINT TEST LOGS $1 (start)" + cat test-suite.log + echo ">>>> PRINT TEST LOGS $1 (done)" +} + +run_autotools() { + NOCONFIGURE=1 ./autogen.sh + mkdir ./build + pushd ./build + ../configure \ + --prefix="$PWD/INST" \ + --enable-introspection=$_WITH_DOCS \ + --enable-gtk-doc=$_WITH_DOCS \ + --with-systemd-logind=$_WITH_SYSTEMD_LOGIND \ + --enable-more-warnings=$_WITH_MORE_WARNINGS \ + --enable-tests=yes \ + --with-crypto=$_WITH_CRYPTO \ + \ + --with-libnm-glib=yes \ + --with-iwd=yes \ + --with-ofono=yes \ + --enable-teamdctl=$_WITH_LIBTEAM \ + \ + --with-dhcpcanon=yes \ + --with-dhcpcd=yes \ + --with-dhclient=yes \ + \ + --with-netconfig=/bin/nowhere/netconfig \ + --with-resolvconf=/bin/nowhere/resolvconf \ + \ + --enable-ifcfg-rh=yes \ + --enable-config-plugin-ibft=yes \ + --enable-ifupdown=yes \ + \ + #end + + make -j 6 + make install + + export NM_TEST_CLIENT_CHECK_L10N=1 + + if [ "$CI" == travis ]; then + # travis is known to generate the settings doc differently. + # Don't compare. + export NMTST_NO_CHECK_SETTINGS_DOCS=yes + fi + + if ! make check -j 6 -k ; then + + _autotools_test_print_logs "first-test" + + echo ">>>> RUN SECOND TEST (start)" + NMTST_DEBUG=TRACE,no-expect-message make check -k || : + echo ">>>> RUN SECOND TEST (done)" + + _autotools_test_print_logs "second-test" + die "test failed" + fi + popd +} + +############################################################################### + +run_meson() { + meson build \ + \ + -D ld_gc=false \ + -D session_tracking=no \ + -D systemdsystemunitdir=no \ + -D systemd_journal=false \ + -D selinux=false \ + -D libaudit=no \ + -D libpsl=false \ + -D vapi=false \ + -D introspection=$_WITH_DOCS \ + -D qt=false \ + -D crypto=$_WITH_CRYPTO \ + -D docs=$_WITH_DOCS \ + \ + -D libnm_glib=true \ + -D iwd=true \ + -D ofono=true \ + -D teamdctl=$_WITH_LIBTEAM \ + \ + -D dhclient=/bin/nowhere/dhclient \ + -D dhcpcanon=/bin/nowhere/dhcpcanon \ + -D dhcpcd=/bin/nowhere/dhcpd \ + \ + -D netconfig=/bin/nowhere/netconfig \ + -D resolvconf=/bin/nowhere/resolvconf \ + \ + -D ifcfg_rh=false \ + -D ibft=true \ + -D ifupdown=true \ + \ + #end + + ninja -C build + ninja -C build test +} + +############################################################################### + +if [ "$BUILD_TYPE" == autotools ]; then + run_autotools +elif [ "$BUILD_TYPE" == meson ]; then + run_meson +fi diff --git a/contrib/travis/travis-check.sh b/contrib/travis/travis-check.sh deleted file mode 100755 index ee9fdee535..0000000000 --- a/contrib/travis/travis-check.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -ev - -print_test_logs() { - echo ">>>> PRINT TEST LOGS $1 (start)" - cat test-suite.log - echo ">>>> PRINT TEST LOGS $1 (done)" -} - -# travis is known to generate the settings doc differently. -# Don't compare. -export NMTST_NO_CHECK_SETTINGS_DOCS=yes - -if ! make check -j 4 -k ; then - - print_test_logs "first-test" - - echo ">>>> RUN SECOND TEST (start)" - NMTST_DEBUG=TRACE,no-expect-message make check -k || : - echo ">>>> RUN SECOND TEST (done)" - - print_test_logs "second-test" - - exit 57 -fi - |