Travis: add secondary Linux build target

The goal is to reduce the overall wall clock time of our test builds.

This secondary Linux target uses the no-sudo container setup with a Qt
5.10.1 backport and tests the build without BT support as well as the
mobile build (but not the full desktop build and doesn't create an
AppImage as the pre-built Qt5.10.1 is missing QtWebKit).

In exchange we remove the no-bt and mobile build from the existing linux
target.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2018-05-19 15:07:44 -07:00
parent 1faa5d7ae1
commit 14d18276e4
5 changed files with 90 additions and 3 deletions

View file

@ -15,9 +15,7 @@ export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
# to create an AppImage
cd ..
bash -e -x ./subsurface/scripts/build.sh -desktop -no-bt
rm -rf subsurface/build
bash -e -x ./subsurface/scripts/build.sh -both -create-appdir -build-with-webkit
bash -e -x ./subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins

View file

@ -0,0 +1,5 @@
#!/bin/bash
# we don't do anything here
exit 0

View file

@ -0,0 +1,23 @@
#!/bin/bash
# prep things so we can build for Linux
# we have a custom built Qt some gives us just what we need, including QtWebKit
#
# this is built from the latest version as of 2017-11-09 in the 5.9 branch and
# therefore calls itself Qt-5.9.3
set -x
# Travis only pulls shallow repos. But that messes with git describe.
# Sorry Travis, fetching the whole thing and the tags as well...
git fetch --unshallow
git pull --tags
git describe
. /opt/qt510/bin/qt510-env.sh
export QT_ROOT=/opt/qt510
# TestPreferences uses gui calls, so run a xvfb so it has something to talk to
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start

View file

@ -0,0 +1,21 @@
#!/bin/bash
set -x
set -e
# this gets executed by Travis when building an AppImage for Linux
# it gets started from inside the subsurface directory
export PATH=$QT_ROOT/bin:$PATH # Make sure correct qmake is found on the $PATH for linuxdeployqt
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
# the global build script expects to be called from the directory ABOVE subsurface
# build both desktop and mobile - first desktop without BT support and without
# webkit to make sure that still works, then with all components in order
# to create an AppImage
cd ..
bash -e -x ./subsurface/scripts/build.sh -desktop -no-bt
rm -rf subsurface/build
bash -e -x ./subsurface/scripts/build.sh -mobile