123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- language: python
- sudo: required
- dist: trusty
- cache: pip
- python:
- - '2.7'
- - '3.4'
- - '3.5'
- - '3.6'
- os:
- - linux
- stages:
- - lint
- - test
- - integration-test
- env:
- global:
- - PYTHONUNBUFFERED=yes
- matrix:
- - MATRIX_TOXENV=unit
- matrix:
- include:
- - python: '2.7'
- env: MATRIX_TOXENV=integration-rabbitmq
- stage: integration-test
- services:
- - rabbitmq
- - python: '2.7'
- env: MATRIX_TOXENV=integration-redis
- stage: integration-test
- services:
- - redis
- - python: '2.7'
- env: MATRIX_TOXENV=integration-dynamodb
- stage: integration-test
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - ./extra/install_dynamodb.sh
- - ./extra/install_couchbase_client.sh
- - python: '3.4'
- env: MATRIX_TOXENV=integration-rabbitmq
- stage: integration-test
- services:
- - rabbitmq
- - python: '3.4'
- env: MATRIX_TOXENV=integration-redis
- stage: integration-test
- services:
- - redis
- - python: '3.4'
- env: MATRIX_TOXENV=integration-dynamodb
- stage: integration-test
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - ./extra/install_dynamodb.sh
- - ./extra/install_couchbase_client.sh
- - python: '3.5'
- env: MATRIX_TOXENV=integration-rabbitmq
- stage: integration-test
- services:
- - rabbitmq
- - python: '3.5'
- env: MATRIX_TOXENV=integration-redis
- stage: integration-test
- services:
- - redis
- - python: '3.5'
- env: MATRIX_TOXENV=integration-dynamodb
- stage: integration-test
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - ./extra/install_dynamodb.sh
- - ./extra/install_couchbase_client.sh
- - python: '3.6'
- env: MATRIX_TOXENV=integration-rabbitmq
- stage: integration-test
- services:
- - rabbitmq
- - python: '3.6'
- env: MATRIX_TOXENV=integration-redis
- stage: integration-test
- services:
- - redis
- - python: '3.6'
- env: MATRIX_TOXENV=integration-dynamodb
- stage: integration-test
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - ./extra/install_dynamodb.sh
- - ./extra/install_couchbase_client.sh
- - python: '3.6'
- env: TOXENV=pypy-integration-rabbitmq PYPY_VERSION="pypy2.7-5.8.0"
- stage: integration-test
- services:
- - rabbitmq
- - python: '3.6'
- env: TOXENV=pypy-integration-redis PYPY_VERSION="pypy2.7-5.8.0"
- stage: integration-test
- services:
- - redis
- - python: '3.6'
- env: TOXENV=pypy-integration-dynamodb PYPY_VERSION="pypy2.7-5.8.0"
- stage: integration-test
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - ./extra/install_dynamodb.sh
- - |
- if [[ "$TOXENV" =~ "pypy" ]]; then
- export PYENV_ROOT="$HOME/.pyenv"
- if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
- cd "$PYENV_ROOT" && git pull
- else
- rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/pyenv/pyenv.git "$PYENV_ROOT"
- fi
- "$PYENV_ROOT/bin/pyenv" install "$PYPY_VERSION"
- virtualenv --python="$PYENV_ROOT/versions/$PYPY_VERSION/bin/python" "$HOME/virtualenvs/$PYPY_VERSION"
- source "$HOME/virtualenvs/$PYPY_VERSION/bin/activate"
- which python
- fi
- - ./extra/install_couchbase_client.sh
- - python: '3.6'
- env: TOXENV=pypy-unit PYPY_VERSION="pypy2.7-5.8.0"
- stage: test
- - python: '3.6'
- env: TOXENV=flake8
- stage: lint
- - python: '3.6'
- env: TOXENV=flakeplus
- stage: lint
- - python: '3.6'
- env: TOXENV=apicheck
- stage: lint
- - python: '3.6'
- env: TOXENV=configcheck
- stage: lint
- - python: '3.6'
- env: TOXENV=bandit
- stage: lint
- - python: '3.6'
- env: TOXENV=pydocstyle
- stage: lint
- - python: '3.6'
- env: TOXENV=isort-check
- stage: lint
- before_install:
- - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- - |
- if [[ "$TOXENV" =~ "pypy" ]]; then
- export PYENV_ROOT="$HOME/.pyenv"
- if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
- cd "$PYENV_ROOT" && git pull
- else
- rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/pyenv/pyenv.git "$PYENV_ROOT"
- fi
- "$PYENV_ROOT/bin/pyenv" install "$PYPY_VERSION"
- virtualenv --python="$PYENV_ROOT/versions/$PYPY_VERSION/bin/python" "$HOME/virtualenvs/$PYPY_VERSION"
- source "$HOME/virtualenvs/$PYPY_VERSION/bin/activate"
- which python
- fi
- - ./extra/install_couchbase_client.sh
- after_success:
- - |
- if [[ -v MATRIX_TOXENV || "$TOXENV" =~ "pypy" ]]; then
- .tox/$TOXENV/bin/coverage xml
- .tox/$TOXENV/bin/codecov -e TOXENV
- fi;
- install: travis_retry pip install -U tox | cat
- script: tox -v -- -v
- notifications:
- irc:
- channels:
- - "chat.freenode.net#celery"
- on_success: change
- on_failure: change
|