mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +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
|
- libglib2.0-dev
|
||||||
- mdbtools-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"
|
- env: SUBSURFACE_PLATFORM="android"
|
||||||
# Currently hard coded to arm
|
# Currently hard coded to arm
|
||||||
os: linux
|
os: linux
|
||||||
|
|
|
@ -15,9 +15,7 @@ export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
|
||||||
# to create an AppImage
|
# to create an AppImage
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
bash -e -x ./subsurface/scripts/build.sh -desktop -no-bt
|
bash -e -x ./subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit
|
||||||
rm -rf subsurface/build
|
|
||||||
bash -e -x ./subsurface/scripts/build.sh -both -create-appdir -build-with-webkit
|
|
||||||
|
|
||||||
export QT_PLUGIN_PATH=$QT_ROOT/plugins
|
export QT_PLUGIN_PATH=$QT_ROOT/plugins
|
||||||
export QT_QPA_PLATFORM_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…
Add table
Reference in a new issue