# 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 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 -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -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 -Pinclude-kinesis -Dinclude_hadoop_aws -Dscala-2.12 -Phive-1.2.1" 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