# 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
env:
  global:
    - BUILD_ID=${TRAVIS_BUILD_ID}
    - AIRFLOW_CONTAINER_MOUNT_HOST_VOLUMES="false"
    - AIRFLOW_CI_SILENT="true"
    - CI="true"
python: "3.6"
stages:
  - pre-test
  - test
jobs:
  include:
    - name: "Tests postgres python 3.6"
      env: BACKEND=postgres ENV=docker
      python: "3.6"
      stage: test
    - name: "Tests sqlite python 3.5"
      env: BACKEND=sqlite ENV=docker
      python: "3.5"
      stage: test
    - name: "Tests mysql python 2.7"
      env: BACKEND=mysql ENV=docker
      python: "2.7"
      stage: test
    - name: "Tests postgres kubernetes python 3.6 (persistent)"
      env: BACKEND=postgres ENV=kubernetes KUBERNETES_VERSION=v1.13.0 KUBERNETES_MODE=persistent_mode
      python: "3.6"
      stage: test
    - name: "Tests postgres kubernetes python 3.6 (git)"
      env: BACKEND=postgres ENV=kubernetes KUBERNETES_VERSION=v1.13.0 KUBERNETES_MODE=git_mode
      python: "3.6"
      stage: test
    - name: "Tests postgres kubernetes python 2.7 (persistent)"
      env: BACKEND=postgres ENV=kubernetes KUBERNETES_VERSION=v1.13.0 KUBERNETES_MODE=persistent_mode
      python: "2.7"
      stage: test
    - name: "Tests postgres kubernetes python 2.7 (git)"
      env: BACKEND=postgres ENV=kubernetes KUBERNETES_VERSION=v1.9.0 KUBERNETES_MODE=git_mode
      python: "2.7"
      stage: test
    - name: "Static checks (no licence check)"
      stage: pre-test
      script: ./scripts/ci/ci_run_all_static_tests_except_licence.sh
    - name: "Check licence compliance for Apache"
      stage: pre-test
      script: ./scripts/ci/ci_check_license.sh
    - name: "Build documentation"
      stage: pre-test
      script: ./scripts/ci/ci_docs.sh
services:
  - docker
before_install:
  - ./scripts/ci/ci_before_install.sh
script: "./scripts/ci/ci_run_airflow_testing.sh"