summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2018-05-19 15:07:44 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-05-19 21:21:46 -0700
commit14d18276e4c7f9f027b4041d73446d41bae6df67 (patch)
tree7e87070e3fc13fc807b0c3bc5e9334ad1c641d0c /scripts
parent1faa5d7ae19babcab3c8f4214292110964d14a6d (diff)
downloadsubsurface-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.sh4
-rw-r--r--scripts/linux2/after_success.sh5
-rw-r--r--scripts/linux2/before_install.sh23
-rw-r--r--scripts/linux2/travisbuild.sh21
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
+