mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
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:
parent
1faa5d7ae1
commit
14d18276e4
5 changed files with 90 additions and 3 deletions
40
.travis.yml
40
.travis.yml
|
@ -55,6 +55,46 @@ matrix:
|
|||
- libglib2.0-dev
|
||||
- mdbtools-dev
|
||||
|
||||
- env: SUBSURFACE_PLATFORM='linux2'
|
||||
os: linux
|
||||
dist: trusty
|
||||
language: c++
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: 'ppa:beineri/opt-qt-5.10.1-trusty'
|
||||
key_url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x10C56D0DE9977759'
|
||||
packages:
|
||||
- qt510base
|
||||
- qt510connectivity
|
||||
- qt510declarative
|
||||
- qt510location
|
||||
- qt510quickcontrols
|
||||
- qt510quickcontrols2
|
||||
- qt510script
|
||||
- qt510translations
|
||||
- qt510svg
|
||||
- qt510tools
|
||||
- git
|
||||
- g++
|
||||
- make
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
- cmake
|
||||
- pkg-config
|
||||
- libxml2-dev
|
||||
- libxslt1-dev
|
||||
- libzip-dev
|
||||
- libsqlite3-dev
|
||||
- libusb-1.0-0-dev
|
||||
- libssl-dev
|
||||
- libssh2-1-dev
|
||||
- libcurl4-openssl-dev
|
||||
# Not a subsurface dependency, but a Qt dependency
|
||||
- mesa-common-dev
|
||||
- libxcb-xinerama0
|
||||
|
||||
- env: SUBSURFACE_PLATFORM="android"
|
||||
# Currently hard coded to arm
|
||||
os: linux
|
||||
|
|
|
@ -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
|
||||
|
|
5
scripts/linux2/after_success.sh
Normal file
5
scripts/linux2/after_success.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# we don't do anything here
|
||||
|
||||
exit 0
|
23
scripts/linux2/before_install.sh
Normal file
23
scripts/linux2/before_install.sh
Normal 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
|
||||
|
21
scripts/linux2/travisbuild.sh
Normal file
21
scripts/linux2/travisbuild.sh
Normal 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
|
||||
|
Loading…
Reference in a new issue