QGIS/.travis.yml
2019-01-17 10:00:47 -05:00

163 lines
4.8 KiB
YAML

language: python # This lets us use newer python versions from virtualenv
python: "3.5"
compiler: clang
dist: trusty
sudo: false
cache:
apt: true
pip: true
directories:
- ${HOME}/.ccache
timeout: 1000
env:
global:
- TRAVIS_TIMESTAMP=$(date +%s)
- CCACHE_DIR=${HOME}/.ccache
# Docker hub username and passowrd
- secure: "b7eMDIolaAnq1voGKC1ez7Kcf+/A0WZDJEHBvNwk2KubBfrGOE83GMDrFNF4NqjIprqIAvVKj+TrX1ckCvs24re3IqUJo71TaF1IgxzDDPwSsmNh5UMmvZkeiJys9bWjqDO9wYR5ietNmIE18qyMc8ToJk8oKm6AXuAG2n6znmM="
- secure: "PHCp7F3nApp38Mz6b4/OLxgfBiikRGzPQDHg3R5LX+SQOll24c/DMtwpPwizNuFEiCFcRmJ9uc1t0HWEerIZe5uqm7AtE/nMXBsvDZ+hj4Tz/fEBF98a1k4WLYheN1exFidVkJgdAeiwMOOUQXw5KuIX62bxBdzsdcd0QGwxiXo="
matrix:
fast_finish: true
include:
##########################################################
#
# TESTS FOR STANDARD COMMITS
#
##########################################################
##########################################################
# QGIS TESTS ON BIONIC
##########################################################
- os: linux
name: building and testing on linux
if: type != cron
services: docker
env:
- TRAVIS_CONFIG=linux
- DOCKER_TAG=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && echo $TRAVIS_BRANCH | sed 's/master/latest/' || echo "latest" )
- DOCKER_BUILD_QGIS_IMAGE=false
- DOCKER_BUILD_DEPS_FILE=qgis3-build-deps.dockerfile
##########################################################
# CODE LAYOUT
##########################################################
- os: linux
name: code layout
if: type != cron
env:
- TRAVIS_CONFIG=code_layout
addons:
apt:
sources:
- sourceline: 'ppa:jonathonf/backports' # silversearcher-ag backport
- sourceline: 'ppa:sergey-dryabzhinsky/packages' # doxygen
packages:
- doxygen
- graphviz
- txt2tags
- pkg-config
- xvfb
- flip
# used for spell checks
- perl # sipify, lookahead regex in spell check script
- silversearcher-ag
- expect-dev # unbuffer
- coreutils
# dependencies for licensecheck
- cpanminus
- libyaml-tiny-perl
- libio-socket-ssl-perl
- libhttp-date-perl
- libgetopt-long-descriptive-perl
- libmoo-perl
- libnamespace-clean-perl
- libpath-tiny-perl
- libpod-constants-perl
- libscalar-list-utils-perl
- libsort-key-perl
- libstrictures-perl
- libstring-escape-perl
- libtry-tiny-perl
##########################################################
#
# DOCKER IMAGE BUILD JOBS ON CRON OR TAG
#
##########################################################
##########################################################
# BIONIC DOCKER BUILD ON CRON OR TAG
##########################################################
- os: linux
name: bionic docker build
if: repo = qgis/QGIS AND (tag IS PRESENT OR type = cron)
services: docker
env:
- TRAVIS_CONFIG=linux
- DOCKER_TAG=$( echo $TRAVIS_BRANCH | sed 's/master/latest/' )
- DOCKER_BUILD_QGIS_IMAGE=true
- DOCKER_BUILD_DEPS_FILE=qgis3-build-deps.dockerfile
##########################################################
# COSMIC DOCKER BUILD ON CRON OR TAG
##########################################################
- os: linux
name: cosmic docker build
if: repo = qgis/QGIS AND (tag IS PRESENT OR type = cron)
services: docker
env:
- TRAVIS_CONFIG=linux
- DOCKER_TAG="$( echo $TRAVIS_BRANCH | sed 's/master/latest/' )_cosmic"
- DOCKER_BUILD_QGIS_IMAGE=true
- DOCKER_BUILD_DEPS_FILE=qgis3-build-deps-cosmic.dockerfile
# OSX based build with QT4 and Python 2
# - os: osx
# osx_image: xcode8.3 # MacOS 10.12: Sierra
# cache:
# pip: true
# directories:
# - $HOME/.ccache
# env:
# - TRAVIS_CONFIG=macos
# - IGNORE_BUILD_FAILURES=YES
#
# allow_failures:
# - os: osx
git:
depth: 120
notifications:
irc: "chat.freenode.net#qgis-test"
on_failure: change
on_success: change
skip_join: true
webhooks:
urls:
- https://webhooks.gitter.im/e/467e3aff72e344d1dae3
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # default: never
before_install:
- ./.ci/travis/${TRAVIS_CONFIG}/before_install.sh
install:
- ./.ci/travis/${TRAVIS_CONFIG}/install.sh
before_script:
- ./.ci/travis/${TRAVIS_CONFIG}/before_script.sh
script:
- ./.ci/travis/${TRAVIS_CONFIG}/script.sh