[ovs-dev] [PATCH v2] travis: Extended kernel build matrix
Thomas Graf
tgraf at noironetworks.com
Fri Nov 28 12:48:49 UTC 2014
When doing test builds, build against the following kernels:
- KERNEL=3.17.4
- KERNEL=3.16.7
- KERNEL=3.14.25
- KERNEL=3.12.33
- KERNEL=3.10.61
- KERNEL=3.4.104
- KERNEL=2.6.32.64
When doing pure kernel test builds, skip compilation of user space bits.
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
---
v2:
- Skip user compilation for pure kernel builds as suggested by Ben.
.travis.yml | 12 +++++++++---
.travis/build.sh | 33 +++++++++++++++++++++++++++------
2 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index f6177c7..b91327d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,10 +7,16 @@ before_install: ./.travis/prepare.sh
env:
- OPTS="--disable-ssl"
- - TESTSUITE=1 KERNEL=1 OPTS="--with-linux=./linux-3.16.2"
- - KERNEL=1 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.1/build"
+ - TESTSUITE=1 KERNEL=3.17.4
+ - KERNEL=3.17.4 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.1/build"
- TESTSUITE=1 OPTS="--enable-shared"
- - DPDK=1 OPTS="--enable-shared"
+ - KERNEL=3.17.4 DPDK=1 OPTS="--enable-shared"
+ - KERNEL=3.16.7
+ - KERNEL=3.14.25
+ - KERNEL=3.12.33
+ - KERNEL=3.10.61
+ - KERNEL=3.4.104
+ - KERNEL=2.6.32.64
script: ./.travis/build.sh $OPTS
diff --git a/.travis/build.sh b/.travis/build.sh
index 7043c40..6e99c63 100755
--- a/.travis/build.sh
+++ b/.travis/build.sh
@@ -4,15 +4,32 @@ set -o errexit
KERNELSRC=""
CFLAGS="-Werror"
+EXTRA_OPTS=""
function install_kernel()
{
- wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.2.tar.gz
- tar xzvf linux-3.16.2.tar.gz > /dev/null
- cd linux-3.16.2
+ if [[ "$1" =~ ^3.* ]]; then
+ PREFIX="v3.x"
+ else
+ PREFIX="v2.6/longterm/v2.6.32"
+ fi
+
+ wget https://www.kernel.org/pub/linux/kernel/${PREFIX}/linux-${1}.tar.gz
+ tar xzvf linux-${1}.tar.gz > /dev/null
+ cd linux-${1}
make allmodconfig
- make net/openvswitch/
+
+ # Older kernels do not include openvswitch
+ if [ -d "net/openvswitch" ]; then
+ make net/openvswitch/
+ else
+ make net/bridge/
+ fi
+
KERNELSRC=$(pwd)
+ if [ ! "$DPDK" ]; then
+ EXTRA_OPTS="--with-linux=$(pwd)"
+ fi
echo "Installed kernel source in $(pwd)"
cd ..
}
@@ -38,7 +55,7 @@ function configure_ovs()
}
if [ "$KERNEL" ] || [ "$DPDK" ]; then
- install_kernel
+ install_kernel $KERNEL
fi
if [ "$DPDK" ]; then
@@ -50,8 +67,12 @@ elif [ $CC != "clang" ]; then
CFLAGS="$CFLAGS -Wsparse-error"
fi
-configure_ovs $*
+configure_ovs $EXTRA_OPTS $*
+# Only build datapath if we are testing kernel w/o running testsuite
+if [ $KERNEL ] && [ ! "$TESTSUITE" ] && [ ! "$DPDK" ]; then
+ cd datapath
+fi
if [ $CC = "clang" ]; then
make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument"
--
1.9.3
More information about the dev
mailing list