mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 16:35:19 +00:00
8e80500ee6
Use newer distro for Travis CI runs. New environment provides PostgreSQL9.6. Also no need to install custom Doxygen, made it optional. Changed default PHP environment from PHP7.0 to current PHP7.1. Changed codecoverage reporting.
139 lines
3.6 KiB
YAML
139 lines
3.6 KiB
YAML
#
|
|
# Travis-CI configuration file for Hubzilla
|
|
#
|
|
## configure things
|
|
#
|
|
|
|
# see http://about.travis-ci.org/docs/user/languages/php/ for more hints
|
|
language: php
|
|
|
|
# use newer 'trusty' based distro, old one is 'precise'
|
|
dist: trusty
|
|
# use docker based containers
|
|
sudo: false
|
|
|
|
# Git branches whitelist to build on Travis CI
|
|
branches:
|
|
only:
|
|
- master
|
|
- dev
|
|
|
|
# Install additional software
|
|
addons:
|
|
# Install dependencies for generating API documentation with doxygen
|
|
apt:
|
|
packages:
|
|
- doxygen
|
|
- doxygen-latex
|
|
- graphviz
|
|
- ttf-liberation
|
|
|
|
# enable and start databases?
|
|
#services:
|
|
# - mariadb
|
|
# - postgresql
|
|
|
|
# any PHP version we want to test against, our unit tests require PHP>=5.6
|
|
php:
|
|
- '5.6'
|
|
- '7.0'
|
|
- '7.1'
|
|
#- 'hhvm'
|
|
|
|
# list of environments to test
|
|
env:
|
|
global:
|
|
# used for doxygen deployment script
|
|
- DOXYFILE: $TRAVIS_BUILD_DIR/util/Doxyfile
|
|
- GHP_REPO_REF: github.com/redmatrix/hubzilla.git
|
|
# Uncomment if a newer/specific version of Doxygen should be used
|
|
#- DOXY_VER: 1.8.12
|
|
# Code Coverage is slow, no need to have it in every build
|
|
- PHPUCOV: "--no-coverage"
|
|
# use matrix only for PHP and MySQL, all other combinations added through includes
|
|
matrix:
|
|
- DB=mysql
|
|
|
|
# Matrix configuration details
|
|
matrix:
|
|
fast_finish: true
|
|
# Additional check combinations
|
|
include:
|
|
# PHP7.1, mariadb 10.1
|
|
- php: '7.1'
|
|
env: DB=mariadb MARIADB_VERSION=10.1 CODECOV=1
|
|
# use mariadb instead of MySQL
|
|
addons:
|
|
mariadb: '10.1'
|
|
# PHP7.1, PostgreSQL 9.6
|
|
- php: '7.1'
|
|
env: DB=pgsql POSTGRESQL_VERSION=9.6
|
|
# Use newer postgres than 9.2 default
|
|
addons:
|
|
postgresql: '9.6'
|
|
services:
|
|
- postgresql
|
|
# Exclude from default matrix combinations
|
|
# exclude:
|
|
# - php: hhvm
|
|
# env: DB=pgsql # PDO driver for pgsql is unsupported by HHVM (3rd party install for support)
|
|
|
|
# cache composer downloads between runs
|
|
cache:
|
|
directories:
|
|
- $HOME/.composer/cache
|
|
#- $HOME/doxygen/doxygen-$DOXY_VER/bin
|
|
|
|
|
|
|
|
#
|
|
## execute things
|
|
#
|
|
|
|
before_install:
|
|
- travis_retry composer self-update
|
|
|
|
# Install composer dev libs
|
|
install:
|
|
- travis_retry composer install --optimize-autoloader
|
|
|
|
# execute any number of scripts before the test run, custom env's are available as variables
|
|
before_script:
|
|
# Use code coverage config for phpunit
|
|
- if [[ ! -z $CODECOV ]]; then export PHPUCOV=""; fi
|
|
# HHVM needs xdebug for code coverage, but extremely slow
|
|
#- if [[ $TRAVIS_PHP_VERSION =~ ^hhvm ]]; then echo 'xdebug.enable = On' >> /etc/hhvm/php.ini; fi
|
|
# Some preparation tasks of environment
|
|
- ./tests/travis/prepare.sh
|
|
# DB specific prepare scripts
|
|
- if [[ "$DB" == "mysql" ]]; then ./tests/travis/prepare_mysql.sh; fi
|
|
- if [[ "$DB" == "mariadb" ]]; then ./tests/travis/prepare_mysql.sh; fi
|
|
- if [[ "$DB" == "pgsql" ]]; then ./tests/travis/prepare_pgsql.sh; fi
|
|
|
|
# omitting "script:" will default to phpunit
|
|
script: ./vendor/bin/phpunit $PHPUCOV -c tests/phpunit-$DB.xml
|
|
|
|
after_success:
|
|
# Generate API documentation and deploy it to gh-pages
|
|
- ./tests/travis/gen_apidocs.sh
|
|
#after_failure:
|
|
|
|
# Deploying a release to GitHub when tagging in master
|
|
# Waiting for upcoming 'Build Stages' Q1/Q2 2017 to make generation of API docs
|
|
# and release packages cleaner. https://github.com/travis-ci/travis-ci/issues/929
|
|
#before_deploy:
|
|
#deploy:
|
|
# skip_cleaning: true
|
|
# provider: releases
|
|
# on:
|
|
# tags: true
|
|
#after_deploy:
|
|
|
|
#after_script:
|
|
|
|
|
|
|
|
# configure notifications (email, IRC, campfire etc)
|
|
#notifications:
|
|
# irc: "irc.freenode.org#yourfavouriteroomfortravis"
|
|
# a plugin/script to post to a hubzilla channel would be neat here
|