# 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/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 -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 - 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 -De2e-metrics -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup1" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup2" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup3" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup4" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup5" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" 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 -De2e-metrics -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup1" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup2" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup3" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup4" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup5" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" script: ./tools/travis/nightly.sh split_tpcds.sh name: e2e - tpcds - scala 2.12 # E2E profiles - Hadoop-free - if: type = cron env: PROFILE="-De2e-metrics -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup1" script: ./tools/travis/nightly.sh split_misc_hadoopfree.sh name: e2e - misc - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup2" script: ./tools/travis/nightly.sh split_ha.sh name: e2e - ha - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup3" script: ./tools/travis/nightly.sh split_sticky.sh name: e2e - sticky - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup4" script: ./tools/travis/nightly.sh split_checkpoints.sh name: e2e - checkpoints - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup5" script: ./tools/travis/nightly.sh split_container.sh without-hadoop name: e2e - container - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" script: ./tools/travis/nightly.sh split_heavy.sh name: e2e - heavy - if: type = cron env: PROFILE="-DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" 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 -De2e-metrics -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup1" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup2" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup3" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup4" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" 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 -DincludeE2E=org.apache.flink.tests.util.categories.TravisGroup6" script: ./tools/travis/nightly.sh split_tpcds.sh name: e2e - tpcds - jdk 11