# 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
  - $HOME/flink_download_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:
    - cache-dir: $HOME/flink_download_cache
    - cache-btl: 30
    - cache-download-max-retries: 3
    - cache-download-attempt-timeout: 5
    - cache-download-global-timeout: 10
    # 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/ci/maven-utils.sh
   - setup_maven

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 -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 -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 -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 -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 -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 -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 -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 -Dinclude_hadoop_aws -Dscala-2.11"
      name: tests
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh legacy_scheduler_core
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11"
      name: core - legacy_scheduler
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh legacy_scheduler_tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11"
      name: tests - legacy_scheduler
    - if: type in (pull_request, push)
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: compile - scala 2.12
    - if: type = cron
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: core - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: libraries - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: blink_planner - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: connectors - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: kafka/gelly - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: tests - scala 2.12
    - if: type = cron
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: misc - scala 2.12
    - if: type = cron
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1"
      name: cleanup - scala 2.12
    # JDK11 profile
    - if: type = cron
      jdk: "openjdk11"
      stage: compile
      script: ./tools/travis_controller.sh compile
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: compile - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      stage: test
      script: ./tools/travis_controller.sh core
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: core - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh python
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: python - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh libraries
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: libraries - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh blink_planner
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: blink_planner - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh connectors
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: connectors - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh kafka/gelly
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: kafka/gelly - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh tests
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: tests - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      script: ./tools/travis_controller.sh misc
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: misc - jdk 11
    - if: type = cron
      jdk: "openjdk11"
      stage: cleanup
      script: ./tools/travis_controller.sh cleanup
      env: PROFILE="-Dhadoop.version=2.8.3 -Dinclude_hadoop_aws -Dscala-2.11 -Djdk11"
      name: cleanup - jdk 11
    # 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 -Pe2e-travis1,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_misc.sh
      name: e2e - misc - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis2,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: e2e - ha - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis3,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: e2e - sticky - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis4,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: e2e - checkpoints - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis5,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_container.sh
      name: e2e - container - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: e2e - heavy - hadoop 2.8
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_tpcds.sh
      name: e2e - tpcds - hadoop 2.8
      # E2E profiles - Scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis1,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_misc.sh
      name: e2e - misc - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis2,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: e2e - ha - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis3,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: e2e - sticky - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis4,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: e2e - checkpoints - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis5,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_container.sh
      name: e2e - container - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: e2e - heavy - scala 2.12
    - if: type = cron
      env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dscala-2.12 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_tpcds.sh
      name: e2e - tpcds - scala 2.12
      # E2E profiles - Hadoop-free
    - if: type = cron
      env: PROFILE="-Pe2e-travis1"
      script: ./tools/travis/nightly.sh split_misc_hadoopfree.sh
      name: e2e - misc
    - if: type = cron
      env: PROFILE="-Pe2e-travis2"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: e2e - ha
    - if: type = cron
      env: PROFILE="-Pe2e-travis3"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: e2e - sticky
    - if: type = cron
      env: PROFILE="-Pe2e-travis4"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: e2e - checkpoints
    - if: type = cron
      env: PROFILE="-Pe2e-travis5"
      script: ./tools/travis/nightly.sh split_container.sh without-hadoop
      name: e2e - container
    - if: type = cron
      env: PROFILE="-Pe2e-travis6"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: e2e - heavy
    - if: type = cron
      env: PROFILE="-Pe2e-travis6"
      script: ./tools/travis/nightly.sh split_tpcds.sh
      name: e2e - tpcds
    # E2E profiles - Java 11
    - if: type = cron
      stage: test
      jdk: "openjdk11"
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis1,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_misc.sh
      name: e2e - misc - jdk11
    - if: type = cron
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis2,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_ha.sh
      name: e2e - ha - jdk11
    - if: type = cron
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis3,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_sticky.sh
      name: e2e - sticky - jdk 11
    - if: type = cron
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis4,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_checkpoints.sh
      name: e2e - checkpoints - jdk 11
    - if: type = cron
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_heavy.sh
      name: e2e - heavy - jdk 11
    - if: type = cron
      env: PROFILE="-Djdk11 -Dinclude-hadoop -Dhadoop.version=2.8.3 -Pe2e-travis6,e2e-hadoop"
      script: ./tools/travis/nightly.sh split_tpcds.sh
      name: e2e - tpcds - jdk 11
