| # |
| # 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. |
| # |
| dist: xenial |
| language: python |
| python: |
| - "3.6" |
| env: |
| global: |
| - TRAVIS_CACHE=$HOME/.travis_cache/ |
| - CASS_DRIVER_BUILD_CONCURRENCY=8 |
| - CASS_DRIVER_NO_CYTHON=1 |
| matrix: |
| - TOX_ENV=py27-backend_mysql-env_docker |
| - TOX_ENV=py27-backend_sqlite-env_docker |
| - TOX_ENV=py27-backend_postgres-env_docker |
| - TOX_ENV=py35-backend_mysql-env_docker PYTHON_VERSION=3 |
| - TOX_ENV=py35-backend_sqlite-env_docker PYTHON_VERSION=3 |
| - TOX_ENV=py35-backend_postgres-env_docker PYTHON_VERSION=3 |
| - TOX_ENV=py27-backend_postgres-env_kubernetes KUBERNETES_VERSION=v1.9.0 |
| - TOX_ENV=py35-backend_postgres-env_kubernetes KUBERNETES_VERSION=v1.13.0 PYTHON_VERSION=3 |
| |
| stages: |
| - pre-test |
| - test |
| |
| jobs: |
| include: |
| - name: Flake8 |
| stage: pre-test |
| install: pip install flake8 |
| script: flake8 |
| - name: mypy |
| stage: pre-test |
| install: pip install mypy |
| script: mypy airflow tests |
| - name: Check license header |
| stage: pre-test |
| install: skip |
| script: scripts/ci/6-check-license.sh |
| - name: Check docs |
| stage: pre-test |
| install: pip install -e .[doc] |
| script: docs/build.sh |
| |
| cache: |
| directories: |
| - $HOME/.wheelhouse/ |
| - $HOME/.cache/pip |
| - $HOME/.travis_cache/ |
| before_install: |
| # Required for K8s v1.10.x. See |
| # https://github.com/kubernetes/kubernetes/issues/61058#issuecomment-372764783 |
| - if [ ! -z "$KUBERNETES_VERSION" ]; then sudo mount --make-shared / && sudo service docker restart; fi |
| install: |
| - pip install --upgrade pip |
| - docker-compose -f scripts/ci/docker-compose.yml pull --quiet |
| script: |
| - if [ -z "$KUBERNETES_VERSION" ]; then |
| docker-compose --log-level ERROR -f scripts/ci/docker-compose.yml run airflow-testing /app/scripts/ci/run-ci.sh; |
| fi |
| - if [ ! -z "$KUBERNETES_VERSION" ]; then |
| ./scripts/ci/kubernetes/minikube/stop_minikube.sh && |
| ./scripts/ci/kubernetes/setup_kubernetes.sh && |
| ./scripts/ci/kubernetes/kube/deploy.sh -d persistent_mode && |
| MINIKUBE_IP=$(minikube ip) docker-compose --log-level ERROR -f scripts/ci/docker-compose.yml -f scripts/ci/docker-compose-kubernetes.yml run airflow-testing /app/scripts/ci/run-ci.sh; |
| fi |
| - if [ ! -z "$KUBERNETES_VERSION" ]; then |
| ./scripts/ci/kubernetes/minikube/stop_minikube.sh && |
| ./scripts/ci/kubernetes/setup_kubernetes.sh && |
| ./scripts/ci/kubernetes/kube/deploy.sh -d git_mode && |
| MINIKUBE_IP=$(minikube ip) docker-compose --log-level ERROR -f scripts/ci/docker-compose.yml -f scripts/ci/docker-compose-kubernetes.yml run airflow-testing /app/scripts/ci/run-ci.sh; |
| fi |
| before_cache: |
| - sudo chown -R travis:travis $HOME/.cache/pip $HOME/.wheelhouse/ |