aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml40
-rwxr-xr-xtests/travis/gen_apidocs.sh25
-rwxr-xr-xtests/travis/prepare_pgsql.sh2
3 files changed, 39 insertions, 28 deletions
diff --git a/.travis.yml b/.travis.yml
index 1412390ab..4fac4246a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
#
-# Travis-CI configuration file
+# Travis-CI configuration file for Hubzilla
#
## configure things
#
@@ -7,6 +7,8 @@
# 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
@@ -21,9 +23,8 @@ addons:
# Install dependencies for generating API documentation with doxygen
apt:
packages:
- # default doxygen 1.7 is too old, we install our own
- #- doxygen
- #- doxygen-latex
+ - doxygen
+ - doxygen-latex
- graphviz
- ttf-liberation
@@ -36,7 +37,8 @@ addons:
php:
- '5.6'
- '7.0'
- #- hhvm
+ - '7.1'
+ #- 'hhvm'
# list of environments to test
env:
@@ -46,6 +48,8 @@ env:
- 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
@@ -55,18 +59,20 @@ matrix:
fast_finish: true
# Additional check combinations
include:
- # PHP7, mariadb 10.1
- - php: '7.0'
- env: DB=mariadb MARIADB_VERSION=10.1
+ # 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, PostgreSQL 9.4
- - php: '7.0'
- env: DB=pgsql POSTGRESQL_VERSION=9.4
- # Use newer postgres than 9.1 default
+ # 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.4'
+ postgresql: '9.6'
+ services:
+ - postgresql
# Exclude from default matrix combinations
# exclude:
# - php: hhvm
@@ -76,7 +82,7 @@ matrix:
cache:
directories:
- $HOME/.composer/cache
- - $HOME/doxygen/doxygen-$DOXY_VER/bin
+ #- $HOME/doxygen/doxygen-$DOXY_VER/bin
@@ -93,6 +99,10 @@ install:
# 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
@@ -101,7 +111,7 @@ before_script:
- if [[ "$DB" == "pgsql" ]]; then ./tests/travis/prepare_pgsql.sh; fi
# omitting "script:" will default to phpunit
-script: ./vendor/bin/phpunit -c tests/phpunit-$DB.xml
+script: ./vendor/bin/phpunit $PHPUCOV -c tests/phpunit-$DB.xml
after_success:
# Generate API documentation and deploy it to gh-pages
diff --git a/tests/travis/gen_apidocs.sh b/tests/travis/gen_apidocs.sh
index 248818117..ed5e429fa 100755
--- a/tests/travis/gen_apidocs.sh
+++ b/tests/travis/gen_apidocs.sh
@@ -34,20 +34,21 @@ if [[ "$TRAVIS_JOB_NUMBER" != "${TRAVIS_BUILD_NUMBER}.1" ]]; then
exit
fi
-# Get newer Doxygen
-#echo "Doxygen version 1.7 is too old for us :("
-#doxygen --version
+echo "Doxygen version >= 1.8 is required"
+doxygen --version
-# Travis CI has an old Doxygen 1.7 build, so we fetch a recent static binary
-export DOXY_BINPATH=$HOME/doxygen/doxygen-$DOXY_VER/bin
-if [ ! -e "$DOXY_BINPATH/doxygen" ]; then
- echo "Installing newer Doxygen $DOXY_VER ..."
- mkdir -p $HOME/doxygen && cd $HOME/doxygen
- wget -O - http://ftp.stack.nl/pub/users/dimitri/doxygen-$DOXY_VER.linux.bin.tar.gz | tar xz
- export PATH=$PATH:$DOXY_BINPATH
+# Check if newer version of Doxygen should be used
+if [ ! -z "$DOXY_VER" ]; then
+ export DOXY_BINPATH=$HOME/doxygen/doxygen-$DOXY_VER/bin
+ if [ ! -e "$DOXY_BINPATH/doxygen" ]; then
+ echo "Installing newer Doxygen $DOXY_VER ..."
+ mkdir -p $HOME/doxygen && cd $HOME/doxygen
+ wget -O - http://ftp.stack.nl/pub/users/dimitri/doxygen-$DOXY_VER.linux.bin.tar.gz | tar xz
+ export PATH=$DOXY_BINPATH:$PATH
+ fi
+ echo "Doxygen version"
+ doxygen --version
fi
-echo "Doxygen version"
-doxygen --version
echo "Generating Doxygen API documentation ..."
cd $TRAVIS_BUILD_DIR
diff --git a/tests/travis/prepare_pgsql.sh b/tests/travis/prepare_pgsql.sh
index 64c3524e7..dcd83f3be 100755
--- a/tests/travis/prepare_pgsql.sh
+++ b/tests/travis/prepare_pgsql.sh
@@ -30,7 +30,7 @@ echo "Preparing for PostgreSQL ..."
# Print out some PostgreSQL information
psql --version
# Why does this hang further execution of the job?
-#psql -c "SELECT VERSION();" -U postgres
+psql -c "SELECT VERSION();" -U postgres
# Create Hubzilla database
psql -c "DROP DATABASE IF EXISTS hubzilla;" -U postgres