# # 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. [tox] envlist = flake8,{py27,py35}-backend_{mysql,sqlite,postgres}-env_{docker,kubernetes} skipsdist = True [global] wheel_dir = {homedir}/.wheelhouse find_links = {homedir}/.wheelhouse {homedir}/.pip-cache [testenv] deps = wheel codecov basepython = py27: python2.7 py35: python3.5 setenv = HADOOP_DISTRO=cdh HADOOP_HOME=/tmp/hadoop-cdh HADOOP_OPTS=-D/tmp/krb5.conf HIVE_HOME=/tmp/hive MINICLUSTER_HOME=/tmp/minicluster-1.1-SNAPSHOT KRB5_CONFIG=/etc/krb5.conf KRB5_KTNAME=/etc/airflow.keytab CELERY_BROKER_URLS=amqp://guest:guest@rabbitmq:5672,redis://redis:6379/0 backend_mysql: AIRFLOW__CORE__SQL_ALCHEMY_CONN=mysql://root@mysql/airflow backend_mysql: AIRFLOW__CELERY__RESULT_BACKEND=db+mysql://root@mysql/airflow backend_postgres: AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql+psycopg2://postgres:airflow@postgres/airflow backend_postgres: AIRFLOW__CELERY__RESULT_BACKEND=db+postgresql://postgres:airflow@postgres/airflow backend_sqlite: AIRFLOW__CORE__SQL_ALCHEMY_CONN=sqlite:///{homedir}/airflow.db backend_sqlite: AIRFLOW__CORE__EXECUTOR=SequentialExecutor passenv = * commands = pip wheel --no-use-pep517 --progress-bar off -w {homedir}/.wheelhouse -f {homedir}/.wheelhouse -e .[devel_ci] pip install --no-use-pep517 --progress-bar off --find-links={homedir}/.wheelhouse --no-index -e .[devel_ci] env_docker: {toxinidir}/scripts/ci/1-setup-env.sh env_docker: {toxinidir}/scripts/ci/2-setup-kdc.sh backend_mysql: {toxinidir}/scripts/ci/3-setup-mysql.sh {toxinidir}/scripts/ci/5-run-tests.sh [] codecov -e TOXENV [testenv:flake8] basepython = python3 deps = flake8>=3.6.0 commands = flake8