diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2018-05-19 15:07:44 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-05-19 21:21:46 -0700 |
commit | 14d18276e4c7f9f027b4041d73446d41bae6df67 (patch) | |
tree | 7e87070e3fc13fc807b0c3bc5e9334ad1c641d0c /scripts | |
parent | 1faa5d7ae19babcab3c8f4214292110964d14a6d (diff) | |
download | subsurface-14d18276e4c7f9f027b4041d73446d41bae6df67.tar.gz |
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>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/linux/travisbuild.sh | 4 | ||||
-rw-r--r-- | scripts/linux2/after_success.sh | 5 | ||||
-rw-r--r-- | scripts/linux2/before_install.sh | 23 | ||||
-rw-r--r-- | scripts/linux2/travisbuild.sh | 21 |
4 files changed, 50 insertions, 3 deletions
diff --git a/scripts/linux/travisbuild.sh b/scripts/linux/travisbuild.sh index f4bfaf63f..f87ef7f76 100644 --- a/scripts/linux/travisbuild.sh +++ b/scripts/linux/travisbuild.sh @@ -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 diff --git a/scripts/linux2/after_success.sh b/scripts/linux2/after_success.sh new file mode 100644 index 000000000..2b2638ee7 --- /dev/null +++ b/scripts/linux2/after_success.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# we don't do anything here + +exit 0 diff --git a/scripts/linux2/before_install.sh b/scripts/linux2/before_install.sh new file mode 100644 index 000000000..3b0ddceb4 --- /dev/null +++ b/scripts/linux2/before_install.sh @@ -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 + diff --git a/scripts/linux2/travisbuild.sh b/scripts/linux2/travisbuild.sh new file mode 100644 index 000000000..ecb275868 --- /dev/null +++ b/scripts/linux2/travisbuild.sh @@ -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 + |