summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Maximets <i.maximets@ovn.org>2020-08-21 14:04:05 +0200
committerIlya Maximets <i.maximets@ovn.org>2020-08-26 11:51:35 +0200
commit00d3374d8d54283428e9cbbf158cbe60a08531f3 (patch)
tree13a257de1f7c7e92f92f0357e644b0c671b37ee7
parent5601e86c4ec5268cf11b1b92308fd85a7b5cc0ab (diff)
downloadopenvswitch-00d3374d8d54283428e9cbbf158cbe60a08531f3.tar.gz
travis: Test build of debian packages.
We had a lot of issues with debian packaging lately. This job will check build and installation of debian packages to avoid most of such issues in the future. Installing only minimal set of tools, most of dependencies will be installed according to package description, this way we will check if we have all required dependencies listed. Not trying to install openvswitch-ipsec package as there is an issue that python from the pyenv for some reason doesn't see ovs packages installed from python3-openvswitch, i.e. ipsec service is not able to start. Tests are skipped because they are tested in many other scenarios. No need to waste time. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
-rw-r--r--.travis.yml12
-rwxr-xr-x.travis/linux-build.sh11
-rwxr-xr-x.travis/linux-prepare.sh6
3 files changed, 29 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 527240a67..b5eaaaea2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -67,6 +67,18 @@ matrix:
compiler: clang
env: OPTS="--disable-ssl"
+matrix:
+ include:
+ - env: DEB_PACKAGE=1
+ addons:
+ apt:
+ packages:
+ - linux-headers-$(uname -r)
+ - build-essential
+ - fakeroot
+ - devscripts
+ - equivs
+
script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS
notifications:
diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index e0a065291..6981d1d47 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -164,6 +164,17 @@ function build_ovs()
fi
}
+if [ "$DEB_PACKAGE" ]; then
+ mk-build-deps --install --root-cmd sudo --remove debian/control
+ dpkg-checkbuilddeps
+ DEB_BUILD_OPTIONS='parallel=4 nocheck' fakeroot debian/rules binary
+ # Not trying to install ipsec package as there are issues with system-wide
+ # installed python3-openvswitch package and the pyenv used by Travis.
+ packages=$(ls $(pwd)/../*.deb | grep -v ipsec)
+ sudo apt install ${packages}
+ exit 0
+fi
+
if [ "$KERNEL" ]; then
install_kernel $KERNEL
fi
diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
index 8cbbd5623..71eb347e8 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -2,6 +2,12 @@
set -ev
+if [ "$DEB_PACKAGE" ]; then
+ # We're not using sparse for debian packages, tests are skipped and
+ # all extra dependencies tracked by mk-build-deps.
+ exit 0
+fi
+
# Build and install sparse.
#
# Explicitly disable sparse support for llvm because some travis