| # 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. |
| |
| # s3 deployment based on http://about.travis-ci.org/blog/2012-12-18-travis-artifacts/ |
| |
| # send to fully-virtualized infrastructure: https://docs.travis-ci.com/user/trusty-ci-environment/ |
| sudo: required |
| dist: trusty |
| |
| cache: |
| # default timeout is too low |
| timeout: 600 |
| directories: |
| - $HOME/.rvm/ |
| - $HOME/.m2 |
| - $HOME/flink_cache |
| # keep in sync with tools/travis/setup_maven.sh |
| - $HOME/maven_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: |
| - "gem install --no-document --version 0.8.9 faraday " |
| - "export -f travis_nanoseconds" |
| - "export -f travis_time_start" |
| - "export -f travis_time_finish" |
| # Download kubectl, which is a requirement for using minikube. |
| - curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/ |
| # Download minikube. |
| - curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ |
| - sudo minikube start --vm-driver=none --kubernetes-version=v1.9.0 |
| # Fix the kubectl context, as it's often stale. |
| - minikube update-context |
| # Wait for Kubernetes to be up and ready. |
| - JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}'; until kubectl get nodes -o jsonpath="$JSONPATH" 2>&1 | grep -q "Ready=True"; do sleep 1; done |
| |
| # Install maven 3.2.5 since trusty uses 3.3.9 for which shading is broken |
| before_install: |
| - source ./tools/travis/setup_maven.sh |
| # Installing the specified docker compose version |
| - sudo rm /usr/local/bin/docker-compose |
| - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose |
| - chmod +x docker-compose |
| - sudo mv docker-compose /usr/local/bin |
| |
| 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: "oraclejdk8" |
| 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 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 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 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" |
| 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" |
| name: core - hadoop 2.4.1 |
| - if: type = cron |
| script: ./tools/travis_controller.sh libraries |
| env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis" |
| name: libraries - hadoop 2.4.1 |
| - if: type = cron |
| script: ./tools/travis_controller.sh connectors |
| env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis" |
| name: connectors - hadoop 2.4.1 |
| - if: type = cron |
| script: ./tools/travis_controller.sh tests |
| env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis" |
| name: tests - hadoop 2.4.1 |
| - if: type = cron |
| script: ./tools/travis_controller.sh misc |
| env: PROFILE="-Dhadoop.version=2.4.1 -Pinclude-kinesis" |
| 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" |
| 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.112" |
| 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.112" |
| 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.112" |
| name: libraries - 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.112" |
| name: connectors - 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.112" |
| 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.112" |
| 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.112" |
| name: cleanup - scala 2.12 |
| # E2E profile |
| - stage: E2E |
| 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 |
| - env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_ha.sh |
| name: ha - hadoop 2.8 |
| - env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_sticky.sh |
| name: sticky - hadoop 2.8 |
| - env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_checkpoints.sh |
| name: checkpoints - hadoop 2.8 |
| - env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_container.sh |
| name: container - hadoop 2.8 |
| - env: PROFILE="-Dinclude-hadoop -Dhadoop.version=2.8.3 -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_heavy.sh |
| name: heavy - hadoop 2.8 |
| - 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 |
| - 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 |
| - 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 |
| - 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 |
| - 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 |
| - 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 |
| - env: PROFILE="-De2e-metrics -Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_misc_hadoopfree.sh |
| name: misc |
| - env: PROFILE="-Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_ha.sh |
| name: ha |
| - env: PROFILE="-Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_sticky.sh |
| name: sticky |
| - env: PROFILE="-Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_checkpoints.sh |
| name: checkpoints |
| - env: PROFILE="-Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_container.sh |
| name: container |
| - env: PROFILE="-Dinclude-kinesis" |
| script: ./tools/travis/nightly.sh split_heavy.sh |
| name: heavy |