summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 6aef24890c03c7ad6090630c96cdb9aa744b9ba9 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
language: python
sudo: required
dist: bionic
cache: pip
python:
  - '3.6'
  - '3.7'
  - '3.8'
  - 'pypy3.6-7.3.1'

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

stages:
  - test
  - integration
  - lint

_integration_job: &integration_job
    script:
        - docker build -t rabbitmq:tls .
        - tox -v -- -v
    services:
      - docker
    stage: integration

matrix:
  fast_finish: true
  include:
    - python: 3.8
      env: TOXENV=flake8
      stage: lint
    - python: 3.8
      env: TOXENV=pydocstyle
      stage: lint
    - python: 3.8
      env: TOXENV=apicheck
      stage: lint
    - python: 3.6
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq
    - python: 3.7
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq
    - python: 3.8
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq
      services:
        - docker
      stage: integration
    - python: pypy3.6-7.3.1
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq
    - python: 3.6
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq CELERY_ENABLE_SPEEDUPS=1
    - python: 3.7
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq CELERY_ENABLE_SPEEDUPS=1
    - python: 3.8
      <<: *integration_job
      env: MATRIX_TOXENV=integration-rabbitmq CELERY_ENABLE_SPEEDUPS=1


before_install:
    - if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
install:
  - pip --disable-pip-version-check install -U pip setuptools wheel | cat
  - pip --disable-pip-version-check install -U --upgrade-strategy eager tox tox-docker | cat
  - python setup.py develop
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