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

# send to fully-virtualized infrastructure: https://docs.travis-ci.com/user/reference/xenial/
sudo: required
dist: xenial

cache:
  # default timeout is too low
  timeout: 600
  directories:
  - $HOME/.m2
  - $HOME/flink_cache
  # keep in sync with tools/travis/setup_maven.sh
  - $HOME/maven_cache
  # keep in sync with tools/travis/docs.sh
  - $HOME/gem_cache

# do not cache our own artifacts
before_cache:
  - rm -rf $HOME/.m2/repository/org/apache/flink/

install: true

language: java

git:
  depth: 100

env:
  global:
    # Global variable to avoid hanging travis builds when downloading cache archives.
    - MALLOC_ARENA_MAX=2
    - DOCKER_COMPOSE_VERSION=1.22.0
    - CHANGE_MINIKUBE_NONE_USER=true

before_script:
   - "export -f travis_nanoseconds"
   - "export -f travis_time_start"
   - "export -f travis_time_finish"

# Install maven 3.2.5 since xenial uses 3.3.9 for which shading is broken
before_install:
   - source ./tools/travis/setup_maven.sh

notifications:
  slack:
    rooms:
      - secure: ikPQn5JTpkyzxVyOPm/jIl3FPm6hY8xAdG4pSwxGWjBqF+NmmNTp9YZsJ6fD8xPql6T5n1hNDbZSC14jVUw/vvXGvibDXLN+06f25ZQl+4LJBXaiR7gTG6y3nO8G90Vw7XpvCme6n5Md9tvjygb17a4FEgRJFfwzWnnyPA1yvK0=
    on_success: never
    on_pull_requests: false
  webhooks:
    urls:
      secure: gOR0ayYgTHvx2QsFxxH07KzI8fgrDk2vqp/6q2eN/RuWHJa6kHecXz/9F0JOXNI1siXrSJ1FwCKOxiMmTbnImJP4015L9VGMS++us6AYtnFp6SIRorRqA1QS5tHNrpBIM38ANxQvuPhFj8S6216BsonQOqBu9sp0jQCOZGKwBLg=
    on_success: change
    on_pull_requests: false

stages:
  - name: compile
  - name: test
  - name: E2E
    if: type = cron
  - name: cleanup

jdk: "openjdk8"
jobs:
  include:
    # main profile
    - if: type in (pull_request, push)
      stage: compile
      script: ./tools/travis_controller.sh compile
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: compile
    - if: type in (pull_request, push)
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: core
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh python
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: python
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: libraries
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: blink_planner
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: connectors
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: kafka/gelly
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: tests
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: misc
    - if: type in (pull_request, push)
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11"
      name: cleanup
    # hadoop 2.4.1 profile
    - if: type = cron
      stage: compile
      script: ./tools/travis_controller.sh compile
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: compile - hadoop 2.4.1
    - if: type = cron
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: core - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: libraries - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: blink_planner - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: connectors - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: kafka/gelly - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: tests - hadoop 2.4.1
    - if: type = cron
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: misc - hadoop 2.4.1
    - if: type = cron
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis -Pskip-hive-tests"
      name: cleanup - hadoop 2.4.1
    # scala 2.12 profile
    - if: type = cron
      stage: compile
      script: ./tools/travis_controller.sh compile
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: compile - scala 2.12
    - if: type = cron
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: core - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: libraries - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: blink_planner - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: connectors - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: kafka/gelly - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: tests - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: misc - scala 2.12
    - if: type = cron
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12"
      name: cleanup - scala 2.12
    # JDK9 profile
    - if: type = cron
      jdk: "openjdk9"
      stage: compile
      script: ./tools/travis_controller.sh compile
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: compile - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: core - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh python
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: python - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: libraries - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: blink_planner - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: connectors - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: kafka/gelly - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: tests - jdk 9
    - if: type = cron
      jdk: "openjdk9"
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: misc
    - if: type = cron
      jdk: "openjdk9"
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.8.3 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.11 -Djdk9"
      name: cleanup - jdk 9
    # Documentation 404 check
    - if: type = cron
      stage: test
      script: ./tools/travis/docs.sh
      language: ruby
      rvm: 2.4.0
      name: Documentation links check
    # E2E profiles - Hadoop 2.8
    - if: type = cron
      stage: test
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -De2e-metrics -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_misc.sh
      name: misc - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: ha - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: sticky - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: checkpoints - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_container.sh
      name: container - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: heavy - hadoop 2.8
      # E2E profiles - Scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -De2e-metrics -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_misc.sh
      name: misc - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: ha - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: sticky - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: checkpoints - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_container.sh
      name: container - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: heavy - scala 2.12
      # E2E profiles - Hadoop-free
    - if: type = cron
      env: PROFILE="-De2e-metrics -Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_misc_hadoopfree.sh
      name: misc
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: ha
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: sticky
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: checkpoints
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_container.sh
      name: container
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: heavy
    - # E2E profiles - Java 9
    - if: type = cron
      stage: test
      jdk: "openjdk9"
      env: PROFILE="-De2e-metrics -Dinclude-kinesis -Djdk9"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: ha - jdk9
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis -Djdk9"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: sticky - jdk 9
    - if: type = cron
      env: PROFILE="-Dinclude-kinesis -Djdk9"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: checkpoints - jdk 9
