# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

os: linux
dist: trusty
language: java
jdk:
  - openjdk8
jobs:
  include:
    - name: "Unit tests except hudi-client"
      env: MODE=unit MODULES='!hudi-client' HUDI_QUIETER_LOGGING=1
    - name: "Unit tests for hudi-client"
      env: MODE=unit MODULES=hudi-client HUDI_QUIETER_LOGGING=1
    - name: "Functional tests"
      env: MODE=functional HUDI_QUIETER_LOGGING=1
    - name: "Integration tests"
      env: MODE=integration HUDI_QUIETER_LOGGING=1
install: true
services:
  - docker
cache:
  directories:
    - "$HOME/.m2"
notifications:
  slack:
    rooms:
      - secure: WNIZPBY//xf/xTJL1YUPzvPUDwjawaMM4IJ6IqxjRGcZCmuhNVu2XTJ3aL1g6X7ZcJKxJuwoU/TbSO8Dl6rgWSo/2OfyzBd4ks+hgeCsdycccTcvO8giQO1DOUGUSRdvUzOvKjWVK7iARYzQhoZawAYwI09UJLlwhYRCJ1IKc1ZksrEt964GeEmPyJbwMoZOJVUU84jJIAZPIpOFGTKM652FMermg9yaY2W5oSjDXaV98z0/mJV4Ry++J2v0fvoDs5HxkXYhZJP+dpWR82KDr6Q6LGL5/IlJ+b+IH3pF8LyKR4nCH6l1EZ8KpoFZapyYWYQpXMfQoF2K/JEQkpz1EqBCeEDSJ2+j1PPLhOWXd7ok4DsS26S8BP2ImvyXwua51THN1/r1fCGSIdxiQ5C8aeYmPCSr+oLChCVivEG2eeU34Z1nQJ5aDymNGeFE9qUUpjS0ETfFcjI/WQaA+FiYiPkDfeAoT1+6ySdY7l9gJhMygupILjq57IHbqx4nEr/8AB3Rqb8iIDTWDXgUBI9xKmty36zjIGcVOsCT/SGPccxvEJBXQk8uQqs/rDhaA/ErJPMLX/2b7ElSSObKFdjpMaxVvZIE6wvMLJpIYfChDoXwgfhN6zlAFZrEib7PFI4dGkS8u4wkkHkBS7C+uz2e92EhsAB+BIhUR1M3NQ33+Is=
    on_pull_requests: false
script:
  # ping stdout every 9 minutes or Travis kills build
  # https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received
  - while sleep 9m; do echo "=====[ $SECONDS seconds still running ]====="; done &
  - scripts/run_travis_tests.sh $MODE $MODULES
after_success:
  - scripts/report_coverage.sh
