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: false dist: trusty group: deprecated-2017Q4 jdk: - oraclejdk8 cache: directories: - $HOME/.m2 matrix: include: # strict compilation - env: - NAME="strict compilation" install: true # Strict compilation requires more than 2 GB script: MAVEN_OPTS='-Xmx3000m' mvn clean -Pstrict -pl '!benchmarks' compile test-compile -B --fail-at-end # processing module test - env: - NAME="processing module test" install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -pl processing - sh -c "dmesg | egrep -i '(oom|out of memory|kill process|killed).*' -C 1 || exit 0" - free -m # processing module tests with SQL Compatibility enabled - env: - NAME="processing module test with SQL Compatibility" install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -Ddruid.generic.useDefaultValueForNull=false -pl processing - sh -c "dmesg | egrep -i '(oom|out of memory|kill process|killed).*' -C 1 || exit 0" - free -m # server module test - env: - NAME="server module test" install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -pl server # server module test with SQL Compatibility enabled - env: - NAME="server module test with SQL Compatibility enabled" install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -pl server -Ddruid.generic.useDefaultValueForNull=false # other modules test - env: - NAME="other modules test" - AWS_REGION=us-east-1 # set a aws region for unit tests install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -pl '!processing,!server' - sh -c "dmesg | egrep -i '(oom|out of memory|kill process|killed).*' -C 1 || exit 0" - free -m # other modules test with SQL Compatibility enabled - env: - NAME="other modules test with SQL Compatibility" - AWS_REGION=us-east-1 # set a aws region for unit tests install: MAVEN_OPTS='-Xmx3000m' mvn install -q -ff -DskipTests -B before_script: unset _JAVA_OPTIONS script: # Set MAVEN_OPTS for Surefire launcher - MAVEN_OPTS='-Xmx512m' mvn test -B -Ddruid.generic.useDefaultValueForNull=false -pl '!processing,!server' - sh -c "dmesg | egrep -i '(oom|out of memory|kill process|killed).*' -C 1 || exit 0" - free -m # 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