ca464fa433
- Enable Java 16 (early access) builds now that we have Jacoco 0.8.6 with support for it - Allow flaky Travis CI Mac build to fail - Add Java 14 Linux build to replace Mac - Only do full build matrix on pushes to master or release (e.g. v3.5) branches. - Pull requests against master and pushes to feature branches only get a single Java 8 build
86 lines
3.1 KiB
YAML
86 lines
3.1 KiB
YAML
os: linux
|
|
language: java
|
|
dist: bionic
|
|
|
|
jobs:
|
|
include:
|
|
- dist: trusty # Fastest build first & for all builds
|
|
jdk: oraclejdk8 # Trusty default
|
|
# Full matrix only for merges to master or anything to do with release branches e.g. v3.5
|
|
- if: (branch = master AND type != pull_request) OR branch ~= /^v\d\.\d.*/
|
|
jdk: openjdk11 # Bionic default
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
jdk: openjdk12
|
|
dist: xenial # just for a little variety
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
jdk: openjdk13
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
jdk: openjdk14 # replacement for OS X Java 14 build
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
os: osx
|
|
osx_image: xcode11.6 # macOS 10.15.4, Oracle JDK 14.0.1
|
|
language: java
|
|
services: # not supported on os x
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- mysql
|
|
- mariadb@10.3
|
|
before_script:
|
|
- brew services start mysql
|
|
- brew services start postgresql
|
|
- brew services start mariadb@10.3
|
|
- sleep 15 # wait for databases to start up
|
|
# Homebrew postgres workaround - create expected user postgres
|
|
- /usr/local/opt/postgres/bin/createuser -s postgres
|
|
# FIXME this is duplicated from linux config, but don't know a better way to do it
|
|
- mysql -u root -e 'CREATE DATABASE test_db;'
|
|
- mysql -u root test_db < extensions/database/tests/conf/travis-mysql.sql
|
|
- psql -c 'CREATE DATABASE test_db;' -U postgres
|
|
- psql -U postgres test_db < extensions/database/tests/conf/travis-pgsql.sql
|
|
- cp extensions/database/tests/conf/travis_tests.xml extensions/database/tests/conf/tests.xml
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
jdk: oraclejdk-ea
|
|
- if: branch = master AND type != pull_request OR branch ~= /^v\d\.\d.*/
|
|
jdk: openjdk-ea
|
|
allow_failures:
|
|
- os: osx
|
|
- jdk: openjdk-ea
|
|
- jdk: oraclejdk-ea
|
|
|
|
addons:
|
|
mariadb: '10.3'
|
|
|
|
services:
|
|
- mysql
|
|
- postgresql
|
|
|
|
env:
|
|
# encrypted Codacy key, see https://docs.travis-ci.com/user/encryption-keys/
|
|
- secure: "VmS4He99YlI6rdmw8Q25OZ9kUp11sRbt0W1QMBvA5lzNSmhN1Q1KtaMj9AGwpCZWcyGWri4AQxEmloARxACxQHXRmNE7ro2DESGw46RAocBAf+RfBxYTifIyUGu5TnSCQhz56SkgpyWpedZAZWyah9ZxgUMfet4KXFUfeiUgYQA="
|
|
|
|
before_install:
|
|
# Fake out packaging for Travis builds before mvn install
|
|
- cp packaging/travis_pom.xml packaging/pom.xml
|
|
- mvn process-resources
|
|
|
|
before_script:
|
|
# create test databases for mysql, mariadb and postgresql
|
|
- mysql -u root -e 'CREATE DATABASE test_db;'
|
|
- mysql -u root test_db < extensions/database/tests/conf/travis-mysql.sql
|
|
- psql -c 'CREATE DATABASE test_db;' -U postgres
|
|
- psql -U postgres test_db < extensions/database/tests/conf/travis-pgsql.sql
|
|
- cp extensions/database/tests/conf/travis_tests.xml extensions/database/tests/conf/tests.xml
|
|
|
|
script:
|
|
- mvn jacoco:prepare-agent test
|
|
|
|
after_success:
|
|
- mvn prepare-package -DskipTests=true
|
|
- mvn jacoco:report coveralls:report
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.m2
|
|
|