blob: ed074af0298336a646ac4ebfeaa402b6b0c93f95 [file] [log] [blame]
# More details on how to configure the Travis build
# https://docs.travis-ci.com/user/customizing-the-build/
# Speed up build by leveraging travis caches
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
# Enabling container based infrastructure hoping it will help the build speed <= this didn't work well, so it's reverted
# see https://docs.travis-ci.com/user/migrating-from-legacy/ and https://docs.travis-ci.com/user/ci-environment
sudo: true
language: java
matrix:
include:
- jdk: oraclejdk8
- jdk: oraclejdk8
env: SKIP_RELEASE=true MOCK_MAKER=mock-maker-inline
- jdk: oraclejdk9
env: SKIP_RELEASE=true
- jdk: oraclejdk9
env: SKIP_RELEASE=true MOCK_MAKER=mock-maker-inline
branches:
#Don't build tags
except:
- /^v\d/
#Below skips the installation step completely (https://docs.travis-ci.com/user/customizing-the-build/#Skipping-the-Installation-Step)
#We need it because otherwise Travis CI injects an awkward './gradlew assemble' step into the CI workflow
#We want to control and decide what Gradle tasks are executed
install:
- true
script:
# We are using && below on purpose
# ciPerformRelease must run only when the entire build has completed
# This guarantees that no release steps are executed when the build or tests fail
- ./gradlew build idea -s -PcheckJava6Compatibility && ./gradlew ciPerformRelease
after_success:
#Generates coverage report:
- ./gradlew --stacktrace coverageReport && cp build/reports/jacoco/mockitoCoverage/mockitoCoverage.xml jacoco.xml || echo "Code coverage failed"
- bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"