115 lines
3.0 KiB
YAML
115 lines
3.0 KiB
YAML
dist: trusty
|
|
version: ~> 1.0
|
|
language: php
|
|
php:
|
|
# the latest and greatest, has some issues that are excluded below in matrix.allow_failures
|
|
- 7.3
|
|
- 7.2
|
|
- 7.1
|
|
# the 7.0 build demonstrates that everything is basically ok for 7.0, users might want to wait for 7.1 to run it
|
|
- 7.0
|
|
# folks who prefer running on 5.x should be using 5.6 in most cases, 5.4 is no in the matrix since noone should use it
|
|
- 5.6
|
|
# this is in for centos support, it's still the default on CentOS 7.3 and there were some lang changes after 5.4
|
|
- 5.4
|
|
services:
|
|
- postgresql
|
|
- rabbitmq
|
|
env:
|
|
global:
|
|
- ENVIRONMENT=testing
|
|
- LIBRETIME_LOG_DIR=/tmp/log/libretime
|
|
jobs:
|
|
- PYTHON=false
|
|
- PYTHON=true
|
|
jobs:
|
|
allow_failures:
|
|
# there are currently some testing issues with DateTime precision on 7.1
|
|
- env: PYTHON=false
|
|
php: 7.1
|
|
# there are some issues with phpunit as well as some deep in zf1 on 7.2
|
|
- env: PYTHON=false
|
|
php: 7.2
|
|
# there are some issues with phpunit as well as some deep in zf1 on 7.3
|
|
- env: PYTHON=false
|
|
php: 7.3
|
|
exclude:
|
|
# we need to explicitly exclude python for every version of php other than 7.3 to make way to just run python tests in one seperate instance
|
|
- env: PYTHON=true
|
|
php: 7.2
|
|
- env: PYTHON=true
|
|
php: 7.1
|
|
- env: PYTHON=true
|
|
php: 7.0
|
|
- env: PYTHON=true
|
|
php: 5.6
|
|
- env: PYTHON=true
|
|
php: 5.4
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- silan
|
|
- liquidsoap
|
|
- liquidsoap-plugin-mad
|
|
- liquidsoap-plugin-taglib
|
|
- liquidsoap-plugin-flac
|
|
- liquidsoap-plugin-ogg
|
|
- liquidsoap-plugin-lame
|
|
- liquidsoap-plugin-faad
|
|
- liquidsoap-plugin-vorbis
|
|
- liquidsoap-plugin-opus
|
|
- python3
|
|
- python3-nose
|
|
- python3-gst-1.0
|
|
- python3-magic
|
|
- dos2unix
|
|
install:
|
|
- >
|
|
if [[ "$PYTHON" == false ]]; then
|
|
composer install
|
|
fi
|
|
- >
|
|
if [[ "$PYTHON" == true ]]; then
|
|
pip3 install --user mkdocs rgain3
|
|
pushd python_apps/airtime_analyzer
|
|
python3 setup.py install --dry-run --no-init-script
|
|
popd
|
|
fi
|
|
before_script:
|
|
# prepare the database as per docs/testing.md
|
|
- psql -c 'CREATE DATABASE libretime;' -U postgres
|
|
- psql -c "CREATE USER libretime WITH PASSWORD 'libretime';" -U postgres
|
|
- psql -c 'GRANT CONNECT ON DATABASE libretime TO libretime;' -U postgres
|
|
- psql -c 'ALTER USER libretime CREATEDB;' -U postgres
|
|
- mkdir -p /tmp/log/libretime
|
|
script:
|
|
- ./travis/php.sh
|
|
- ./travis/python.sh
|
|
deploy:
|
|
- provider: pages
|
|
skip_cleanup: true
|
|
local_dir: build/docs
|
|
github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard
|
|
target_branch: master
|
|
repo: LibreTime/LibreTime.github.io
|
|
project_name: LibreTime
|
|
fqdn: libretime.org
|
|
name: R. LibreTime DocBot
|
|
on:
|
|
branch: master
|
|
condition: $PYTHON = true
|
|
- provider: script
|
|
skip_cleanup: true
|
|
script: ./travis/release.sh
|
|
on:
|
|
tags: true
|
|
condition: $PYTHON = true
|
|
- provider: releases
|
|
skip_cleanup: true
|
|
api_key: $GITHUB_TOKEN
|
|
file_glob: true
|
|
file: build/libretime-*.tar.gz
|
|
on:
|
|
tags: true
|
|
condition: $PYTHON = true
|