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

      # 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"
      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
