[ovs-dev] [PATCH ovn] travis CI: Trim down the linux-build.sh

nusiddiq at redhat.com nusiddiq at redhat.com
Mon May 20 06:54:37 UTC 2019


From: Numan Siddique <nusiddiq at redhat.com>

We don't need to prepare or configure datapath or dpdk.
We also don't need to run on many kernel versions.

Signed-off-by: Numan Siddique <nusiddiq at redhat.com>
---
 .travis.yml            | 15 +------
 .travis/linux-build.sh | 97 +-----------------------------------------
 2 files changed, 3 insertions(+), 109 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 32d5f1918..cd853fddd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,22 +28,9 @@ before_script: export PATH=$PATH:$HOME/bin
 
 env:
   - OPTS="--disable-ssl"
-  - TESTSUITE=1 KERNEL=3.16.54
+  - TESTSUITE=1 KERNEL=4.18.20
   - TESTSUITE=1 OPTS="--enable-shared"
   - BUILD_ENV="-m32" OPTS="--disable-ssl"
-  - KERNEL=3.16.54 DPDK=1 OPTS="--enable-shared"
-  - KERNEL=3.16.54 TESTSUITE=1 DPDK=1
-  - KERNEL=3.16.54 DPDK_SHARED=1
-  - KERNEL=3.16.54 DPDK_SHARED=1 OPTS="--enable-shared"
-  - KERNEL=4.18.20
-  - KERNEL=4.17.19
-  - KERNEL=4.16.18
-  - KERNEL=4.15.18
-  - KERNEL=4.14.63
-  - KERNEL=4.9.149
-  - KERNEL=4.4.148
-  - KERNEL=3.19.8
-  - KERNEL=3.16.57
   - TESTSUITE=1 LIBS=-ljemalloc
 
 matrix:
diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index 0cf5da6af..a20474345 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -3,105 +3,16 @@
 set -o errexit
 set -x
 
-KERNELSRC=""
 CFLAGS="-Werror"
 SPARSE_FLAGS=""
 EXTRA_OPTS=""
 TARGET="x86_64-native-linuxapp-gcc"
 
-function install_kernel()
-{
-    if [[ "$1" =~ ^4.* ]]; then
-        PREFIX="v4.x"
-    elif [[ "$1" =~ ^3.* ]]; then
-        PREFIX="v3.x"
-    else
-        PREFIX="v2.6/longterm/v2.6.32"
-    fi
-
-    wget https://cdn.kernel.org/pub/linux/kernel/${PREFIX}/linux-${1}.tar.xz
-    tar xvf linux-${1}.tar.xz > /dev/null
-    cd linux-${1}
-    make allmodconfig
-
-    # Cannot use CONFIG_KCOV: -fsanitize-coverage=trace-pc is not supported by compiler
-    sed -i 's/CONFIG_KCOV=y/CONFIG_KCOV=n/' .config
-
-    # stack validation depends on tools/objtool, but objtool does not compile on travis.
-    # It is giving following error.
-    #  >>> GEN      arch/x86/insn/inat-tables.c
-    #  >>> Semantic error at 40: Unknown imm opnd: AL
-    # So for now disable stack-validation for the build.
-
-    sed -i 's/CONFIG_STACK_VALIDATION=y/CONFIG_STACK_VALIDATION=n/' .config
-    make oldconfig
-
-    # Older kernels do not include openvswitch
-    if [ -d "net/openvswitch" ]; then
-        make net/openvswitch/
-    else
-        make net/bridge/
-    fi
-
-    KERNELSRC=$(pwd)
-    if [ ! "$DPDK" ] && [ ! "$DPDK_SHARED" ]; then
-        EXTRA_OPTS="--with-linux=$(pwd)"
-    fi
-    echo "Installed kernel source in $(pwd)"
-    cd ..
-}
-
-function install_dpdk()
-{
-    if [ -n "$DPDK_GIT" ]; then
-        git clone $DPDK_GIT dpdk-$1
-        cd dpdk-$1
-        git checkout tags/v$1
-    else
-        wget https://fast.dpdk.org/rel/dpdk-$1.tar.xz
-        tar xvf dpdk-$1.tar.xz > /dev/null
-        DIR_NAME=$(tar -tf dpdk-$1.tar.xz | head -1 | cut -f1 -d"/")
-        if [ $DIR_NAME != "dpdk-$1"  ]; then mv $DIR_NAME dpdk-$1; fi
-        cd dpdk-$1
-    fi
-    find ./ -type f | xargs sed -i 's/max-inline-insns-single=100/max-inline-insns-single=400/'
-    find ./ -type f | xargs sed -i 's/-Werror/-Werror -Wno-error=inline/'
-    echo 'CONFIG_RTE_BUILD_FPIC=y' >>config/common_linuxapp
-    sed -ri '/EXECENV_CFLAGS  = -pthread -fPIC/{s/$/\nelse ifeq ($(CONFIG_RTE_BUILD_FPIC),y)/;s/$/\nEXECENV_CFLAGS  = -pthread -fPIC/}' mk/exec-env/linuxapp/rte.vars.mk
-    if [ "$DPDK_SHARED" ]; then
-        sed -i '/CONFIG_RTE_BUILD_SHARED_LIB=n/s/=n/=y/' config/common_base
-        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$TARGET/lib
-    fi
-    make config CC=gcc T=$TARGET
-    make -j4 CC=gcc RTE_KERNELDIR=$KERNELSRC
-    echo "Installed DPDK source in $(pwd)"
-    cd ..
-}
-
 function configure_ovs()
 {
     ./boot.sh && ./configure $* || { cat config.log; exit 1; }
 }
 
-if [ "$KERNEL" ] || [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
-    install_kernel $KERNEL
-fi
-
-if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
-    if [ -z "$DPDK_VER" ]; then
-        DPDK_VER="18.11"
-    fi
-    install_dpdk $DPDK_VER
-    if [ "$CC" = "clang" ]; then
-        # Disregard cast alignment errors until DPDK is fixed
-        CFLAGS="$CFLAGS -Wno-cast-align"
-    fi
-    EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/dpdk-$DPDK_VER/build"
-elif [ "$CC" != "clang" ]; then
-    # DPDK headers currently trigger sparse errors
-    SPARSE_FLAGS="$SPARSE_FLAGS -Wsparse-error"
-fi
-
 OPTS="$EXTRA_OPTS $*"
 
 if [ "$CC" = "clang" ]; then
@@ -116,11 +27,11 @@ fi
 
 if [ "$TESTSUITE" ]; then
     # 'distcheck' will reconfigure with required options.
-    # Now we only need to prepare the Makefile wihtout sparse-wrapped CC.
+    # Now we only need to prepare the Makefile without sparse-wrapped CC.
     configure_ovs
 
     export DISTCHECK_CONFIGURE_FLAGS="$OPTS"
-    if ! make distcheck TESTSUITEFLAGS=-j4 RECHECK=yes; then
+    if ! make distcheck -j4 TESTSUITEFLAGS="-j4 -k ovn" RECHECK=yes; then
         # testsuite.log is necessary for debugging.
         cat */_build/tests/testsuite.log
         exit 1
@@ -129,10 +40,6 @@ else
     configure_ovs $OPTS
     make selinux-policy
 
-    # Only build datapath if we are testing kernel w/o running testsuite
-    if [ "$KERNEL" ] && [ ! "$DPDK" ] && [ ! "$DPDK_SHARED" ]; then
-        cd datapath
-    fi
     make -j4
 fi
 
-- 
2.21.0



More information about the dev mailing list