language: java # On 12-12-2017, Travis updated their trusty image, which caused integration tests to fail. # The group: config instructs Travis to use the previous trusty image. # Please see https://github.com/druid-io/druid/pull/5155 for more information. sudo: required dist: trusty group: deprecated-2017Q4 jdk: - oraclejdk8 cache: directories: - $HOME/.m2 matrix: include: # strict compilation - sudo: false env: - NAME="strict compilation" install: true # Strict compilation requires more than 2 GB script: echo "MAVEN_OPTS='-Xmx3000m'" > ~/.mavenrc && mvn clean -Pstrict -pl '!benchmarks' compile test-compile -B --fail-at-end # processing module test - sudo: false env: - NAME="processing module test" install: echo "MAVEN_OPTS='-Xmx3000m'" > ~/.mavenrc && mvn install -q -ff -DskipTests -B before_script: - unset _JAVA_OPTIONS script: echo "MAVEN_OPTS='-Xmx512m'" > ~/.mavenrc && mvn test -B -Pparallel-test -Dmaven.fork.count=2 -pl processing # server module test - sudo: false env: - NAME="server module test" install: echo "MAVEN_OPTS='-Xmx3000m'" > ~/.mavenrc && mvn install -q -ff -DskipTests -B before_script: - unset _JAVA_OPTIONS # Server module test is run without the parallel-test option because it's memory sensitive and often fails with that option. script: echo "MAVEN_OPTS='-Xmx512m'" > ~/.mavenrc && mvn test -B -pl server # other modules test - sudo: false env: - NAME="other modules test" - AWS_REGION=us-east-1 # set a aws region for unit tests install: echo "MAVEN_OPTS='-Xmx3000m'" > ~/.mavenrc && mvn install -q -ff -DskipTests -B before_script: - unset _JAVA_OPTIONS script: echo "MAVEN_OPTS='-Xmx512m'" > ~/.mavenrc && mvn test -B -Pparallel-test -Dmaven.fork.count=2 -pl '!processing,!server' # run integration tests - sudo: required services: - docker env: - NAME="integration test" - DOCKER_IP=172.17.0.1 install: # Only errors will be shown with the -q option. This is to avoid generating too many logs which make travis build failed. - mvn install -q -ff -DskipTests -B script: - $TRAVIS_BUILD_DIR/ci/travis_script_integration.sh after_failure: - for v in ~/shared/logs/*.log ; do echo $v logtail ======================== ; tail -100 $v ; done - for v in broker middlemanager overlord router coordinator historical ; do echo $v dmesg ======================== ; docker exec -it druid-$v sh -c 'dmesg | tail -3' ; done