subsurface/.travis.yml
Dirk Hohndel 450f654063 Travis: add Windows build in a container
I expect this to become the default way to test Windows builds and
create installers on Travis. The idea is that instead of downloading the
pre-built MXE binaries we might as well use a container that has all
this installed and can be used locally to test if things fail on Travis;
which will allow us to have the exact same environment for testing
locally as runs on Travis.

At this point the container used is way too big - more effort needs to
be spent on shrinking it.

Right now this only deals with Subsurface and not with smtk2ssrf.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00

161 lines
3.9 KiB
YAML

matrix:
include:
- env: SUBSURFACE_PLATFORM='ios'
os: osx
osx_image: xcode9.3
language: c++
- env: SUBSURFACE_PLATFORM='mac'
os: osx
osx_image: xcode8
language: c++ ruby
- env: SUBSURFACE_PLATFORM='windows'
os: linux
dist: trusty
sudo: required
language: c++
- env: SUBSURFACE_PLATFORM='windows-container'
os: linux
filter_secrets: false
language: c++
services:
- docker
- env: SUBSURFACE_PLATFORM='linux'
os: linux
dist: trusty
sudo: required
language: c++
addons:
apt:
packages:
- 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
- libqt5gui5
- libxcb-xinerama0
# Not a subsurface dependency, but a QtMultimedia/libdeclarative_multimedia.so dependency
- libpulse-mainloop-glib0
# Not a subsurface dependency, but a QtWebKit dependency
- libhyphen-dev
- libicu52
# For SmartTrak import
- libglib2.0-dev
- mdbtools-dev
- env: SUBSURFACE_PLATFORM='linux2'
os: linux
dist: trusty
sudo: required
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'
- ubuntu-toolchain-r-test
packages:
- qt510base
- qt510connectivity
- qt510declarative
- qt510location
- qt510quickcontrols
- qt510quickcontrols2
- qt510script
- qt510translations
- qt510svg
- qt510tools
- git
- gcc-5
- g++-5
- 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
language: c++
filter_secrets: false
services:
- docker
# TODO: caching
# cache:
# timeout: 300
# directories:
# - 3pp
- env: SUBSURFACE_PLATFORM="qt55"
os: linux
language: c++
filter_secrets: false
services:
- docker
- env: SUBSURFACE_PLATFORM="qt56"
os: linux
language: c++
filter_secrets: false
services:
- docker
- env: SUBSURFACE_PLATFORM="qt57"
os: linux
language: c++
filter_secrets: false
services:
- docker
- env: SUBSURFACE_PLATFORM="qt59"
os: linux
language: c++
filter_secrets: false
services:
- docker
before_install:
- source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/before_install.sh
script:
- source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/travisbuild.sh
after_success:
- source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/after_success.sh
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/