| # |
| # Licensed 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. |
| # |
| sudo: true |
| dist: trusty |
| language: python |
| jdk: |
| - oraclejdk8 |
| services: |
| - mysql |
| - postgresql |
| addons: |
| apt: |
| packages: |
| - slapd |
| - ldap-utils |
| - openssh-server |
| - mysql-server-5.6 |
| - mysql-client-core-5.6 |
| - mysql-client-5.6 |
| - krb5-user |
| - krb5-kdc |
| - krb5-admin-server |
| - oracle-java8-installer |
| - python-selinux |
| postgresql: "9.2" |
| python: |
| - "2.7" |
| - "3.4" |
| env: |
| global: |
| - TRAVIS_CACHE=$HOME/.travis_cache/ |
| - KRB5_CONFIG=/etc/krb5.conf |
| - KRB5_KTNAME=/etc/airflow.keytab |
| # Travis on google cloud engine has a global /etc/boto.cfg that |
| # does not work with python 3 |
| - BOTO_CONFIG=/tmp/bogusvalue |
| matrix: |
| - TOX_ENV=py27-cdh-airflow_backend_mysql |
| - TOX_ENV=py27-cdh-airflow_backend_sqlite |
| - TOX_ENV=py27-cdh-airflow_backend_postgres |
| # - TOX_ENV=py27-hdp-airflow_backend_mysql |
| # - TOX_ENV=py27-hdp-airflow_backend_sqlite |
| # - TOX_ENV=py27-hdp-airflow_backend_postgres |
| - TOX_ENV=py34-cdh-airflow_backend_mysql |
| - TOX_ENV=py34-cdh-airflow_backend_sqlite |
| - TOX_ENV=py34-cdh-airflow_backend_postgres |
| # - TOX_ENV=py34-hdp-airflow_backend_mysql |
| # - TOX_ENV=py34-hdp-airflow_backend_sqlite |
| # - TOX_ENV=py34-hdp-airflow_backend_postgres |
| matrix: |
| exclude: |
| - python: "3.4" |
| env: TOX_ENV=py27-cdh-airflow_backend_mysql |
| - python: "3.4" |
| env: TOX_ENV=py27-cdh-airflow_backend_sqlite |
| - python: "3.4" |
| env: TOX_ENV=py27-cdh-airflow_backend_postgres |
| - python: "3.4" |
| env: TOX_ENV=py27-hdp-airflow_backend_mysql |
| - python: "3.4" |
| env: TOX_ENV=py27-hdp-airflow_backend_sqlite |
| - python: "3.4" |
| env: TOX_ENV=py27-hdp-airflow_backend_postgres |
| - python: "2.7" |
| env: TOX_ENV=py34-cdh-airflow_backend_mysql |
| - python: "2.7" |
| env: TOX_ENV=py34-cdh-airflow_backend_sqlite |
| - python: "2.7" |
| env: TOX_ENV=py34-cdh-airflow_backend_postgres |
| - python: "2.7" |
| env: TOX_ENV=py34-hdp-airflow_backend_mysql |
| - python: "2.7" |
| env: TOX_ENV=py34-hdp-airflow_backend_sqlite |
| - python: "2.7" |
| env: TOX_ENV=py34-hdp-airflow_backend_postgres |
| cache: |
| directories: |
| - $HOME/.wheelhouse/ |
| - $HOME/.travis_cache/ |
| before_install: |
| - yes | ssh-keygen -t rsa -C your_email@youremail.com -P '' -f ~/.ssh/id_rsa |
| - cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys |
| - ln -s ~/.ssh/authorized_keys ~/.ssh/authorized_keys2 |
| - chmod 600 ~/.ssh/* |
| - jdk_switcher use oraclejdk8 |
| install: |
| - pip install --upgrade pip |
| - pip install tox |
| - pip install codecov |
| before_script: |
| - mysql -e 'drop database if exists airflow; create database airflow' -u root |
| - psql -c 'create database airflow;' -U postgres |
| - export PATH=${PATH}:/tmp/hive/bin |
| script: |
| - pip --version |
| - ls -l $HOME/.wheelhouse |
| - tox --version |
| - tox -e $TOX_ENV |
| after_success: |
| - codecov |