summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: d64bf247fa21fe178268915e812d27ad0c81d405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
language: python
sudo: required
dist: xenial
cache: pip
python:
  - '2.7'
  - '3.4'
  - '3.5'
  - '3.6'
  - '3.7'
  - 'pypy2.7-6.0'
  - 'pypy3.5-6.0'

services:
  - rabbitmq

env:
  global:
    PYTHONUNBUFFERED=yes
  matrix:
    - MATRIX_TOXENV=unit
    - MATRIX_TOXENV=integration-rabbitmq

stages:
  - lint
  - test

matrix:
  fast_finish: true
  include:
    - python: 2.7
      env: TOXENV=flake8
      stage: lint
    - python: 2.7
      env: TOXENV=flakeplus
      stage: lint
    - python: 2.7
      env: TOXENV=pydocstyle
      stage: lint
    - python: 2.7
      env: TOXENV=apicheck
      stage: lint

before_install:
    # - sudo apt install libcurl4-openssl-dev libssl-dev gnutls-dev
    - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
    - |
          if [[ "$TOXENV" == *integration* ]]; then
              sudo echo 'deb https://dl.bintray.com/rabbitmq-erlang/debian xenial main' > /etc/apt/sources.list.d/rabbitmq-bintray.list
              sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
              wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
              sudo apt update
              sudo apt install rabbitmq-server -y
              sudo systemctl enable rabbitmq-server
              sudo systemctl start rabbitmq-server
          fi

install:
  - pip install -U pip setuptools wheel | cat
  - pip install -U tox | cat
script: tox -v -- -v
after_success:
  - .tox/$TRAVIS_PYTHON_VERSION/bin/coverage xml
  - .tox/$TRAVIS_PYTHON_VERSION/bin/codecov -e TOXENV
notifications:
  irc:
    channels:
      - "chat.freenode.net#celery"
    on_success: change
    on_failure: change