| # 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: bionic |
| language: python |
| os: linux |
| env: |
| global: |
| - BUILD_ID=${TRAVIS_BUILD_ID} |
| - MOUNT_LOCAL_SOURCES="false" |
| - MOUNT_HOST_AIRFLOW_VOLUME="true" |
| - FORCE_ANSWER_TO_QUESTIONS="yes" |
| - SKIP_CHECK_REMOTE_IMAGE="true" |
| - DB_RESET="true" |
| - VERBOSE="true" |
| - CI="true" |
| python: "3.6" |
| stages: |
| - pre-test |
| - test |
| services: |
| - docker |
| jobs: |
| include: |
| - name: "Static checks" |
| stage: pre-test |
| script: ./scripts/ci/ci_run_all_static_checks.sh |
| env: >- |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| AIRFLOW_MOUNT_SOURCE_DIR_FOR_STATIC_CHECKS="true" |
| SKIP=pylint-tests |
| - name: "Static checks - pylint tests only" |
| stage: pre-test |
| script: ./scripts/ci/ci_run_static_checks_pylint_tests.sh |
| env: >- |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| AIRFLOW_MOUNT_SOURCE_DIR_FOR_STATIC_CHECKS="true" |
| - name: "Build documentation" |
| env: >- |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| stage: test |
| script: ./scripts/ci/ci_docs.sh |
| - name: "Tests [Py3.6][Kubernetes][persistent]" |
| env: >- |
| BACKEND=postgres |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| RUNTIME=kubernetes |
| ENABLE_KIND_CLUSTER=true |
| KUBERNETES_MODE=persistent_mode |
| KUBERNETES_VERSION=v1.15.3 |
| python: "3.6" |
| stage: test |
| - name: "Tests [Py3.7][Kubernetes][git]" |
| env: >- |
| BACKEND=postgres |
| PYTHON_MAJOR_MINOR_VERSION=3.7 |
| RUNTIME=kubernetes |
| ENABLE_KIND_CLUSTER=true |
| KUBERNETES_MODE=git_mode |
| KUBERNETES_VERSION=v1.15.3 |
| python: "3.6" |
| stage: test |
| - name: "Tests [Postgres9.6][Py3.6][integrations]" |
| env: >- |
| BACKEND=postgres |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| POSTGRES_VERSION=9.6 |
| ENABLED_INTEGRATIONS="cassandra kerberos mongo openldap rabbitmq redis" |
| RUN_INTEGRATION_TESTS=all |
| stage: test |
| - name: "Tests [Postgres10][Py3.6][providers]" |
| env: >- |
| BACKEND=postgres |
| POSTGRES_VERSION=10 |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| script: "./scripts/ci/ci_run_airflow_testing.sh tests/providers" |
| stage: test |
| - name: "Tests [Postgres9.6][Py3.6][core]" |
| env: >- |
| BACKEND=postgres |
| POSTGRES_VERSION=9.6 |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| script: "./scripts/ci/ci_run_airflow_testing.sh --ignore=tests/providers" |
| stage: test |
| - name: "Tests [Sqlite][Py3.7][integrations]" |
| env: >- |
| BACKEND=sqlite |
| PYTHON_MAJOR_MINOR_VERSION=3.7 |
| ENABLED_INTEGRATIONS="cassandra kerberos mongo openldap rabbitmq redis" |
| RUN_INTEGRATION_TESTS=all |
| stage: test |
| - name: "Tests [Sqlite][Py3.6]" |
| env: >- |
| BACKEND=sqlite |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| stage: test |
| - name: "Tests [MySQL5.7][Py3.6][integrations]" |
| env: >- |
| BACKEND=mysql |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| MYSQL_VERSION=5.7 |
| ENABLED_INTEGRATIONS="cassandra kerberos mongo openldap rabbitmq redis" |
| RUN_INTEGRATION_TESTS=all |
| stage: test |
| - name: "Tests [MySQL5.7][Py3.7][providers][kerberos]" |
| env: >- |
| BACKEND=mysql |
| PYTHON_MAJOR_MINOR_VERSION=3.7 |
| MYSQL_VERSION=5.7 |
| ENABLED_INTEGRATIONS="kerberos" |
| script: "./scripts/ci/ci_run_airflow_testing.sh tests/providers" |
| stage: test |
| - name: "Tests [MySQL5.7][Py3.7][core][kerberos]" |
| env: >- |
| BACKEND=mysql |
| PYTHON_MAJOR_MINOR_VERSION=3.7 |
| MYSQL_VERSION=5.7 |
| ENABLED_INTEGRATIONS="kerberos" |
| script: "./scripts/ci/ci_run_airflow_testing.sh --ignore=tests/providers" |
| stage: test |
| - name: "Generate requirements Py3.6" |
| env: >- |
| PYTHON_MAJOR_MINOR_VERSION=3.6 |
| stage: test |
| script: ./scripts/ci/ci_generate_requirements.sh |
| - name: "Generate requirements Py3.7" |
| env: >- |
| PYTHON_MAJOR_MINOR_VERSION=3.7 |
| stage: test |
| script: ./scripts/ci/ci_generate_requirements.sh |
| - name: "Prepare & test backport packages 1.10.9" |
| env: >- |
| INSTALL_AIRFLOW_VERSION="1.10.9" |
| stage: test |
| script: ./scripts/ci/ci_prepare_and_test_backport_packages.sh |
| install: skip |
| before_install: |
| - ./scripts/ci/ci_before_install.sh |
| script: ./scripts/ci/ci_run_airflow_testing.sh |