# 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" - 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_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_VERSION=3.6 AIRFLOW_MOUNT_SOURCE_DIR_FOR_STATIC_CHECKS="true" - name: "Build documentation" env: >- PYTHON_VERSION=3.6 stage: test script: ./scripts/ci/ci_docs.sh - name: "Tests [Py3.6][Kubernetes][persistent]" env: >- BACKEND=postgres PYTHON_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_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_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_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_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_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_VERSION=3.6 stage: test - name: "Tests [MySQL5.7][Py3.6][integrations]" env: >- BACKEND=mysql PYTHON_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][3.7][providers][kerberos]" env: >- BACKEND=mysql PYTHON_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_VERSION=3.7 MYSQL_VERSION=5.7 ENABLED_INTEGRATIONS="kerberos" script: "./scripts/ci/ci_run_airflow_testing.sh --ignore=tests/providers" stage: test - name: "Prepare backport packages" before_install: pip install bowler stage: test script: ./scripts/ci/ci_prepare_backport_packages.sh before_install: - ./scripts/ci/ci_before_install.sh script: ./scripts/ci/ci_run_airflow_testing.sh