| if: tag IS present OR type = pull_request OR (branch = master AND type = push) # we only CI the master, tags and PRs |
| |
| language: python |
| # cache package wheels (1 cache per python version) |
| cache: pip |
| # newer python versions are available only on xenial (while some older only on trusty) Ubuntu distribution |
| dist: xenial |
| sudo: required |
| |
| env: |
| TOXENV=py |
| EXTRA_ARGS="-n 12" |
| |
| jobs: |
| include: |
| - name: "run test suite with python 3.4" |
| python: 3.4 |
| dist: trusty |
| # Specifically request 3.5.1 because we need to be compatible with that. |
| - name: "run test suite with python 3.5.1" |
| python: 3.5.1 |
| dist: trusty |
| - name: "run test suite with python 3.6" |
| python: 3.6 # 3.6.3 pip 9.0.1 |
| - name: "run test suite with python 3.7" |
| python: 3.7 # 3.7.0 pip 10.0.1 |
| - name: "run test suite with python 3.8-dev" |
| python: 3.8-dev |
| - name: "type check our own code" |
| python: 3.7 |
| env: |
| - TOXENV=type |
| - EXTRA_ARGS= |
| - name: "check code style with flake8" |
| python: 3.7 |
| env: |
| - TOXENV=lint |
| - EXTRA_ARGS= |
| - name: "trigger a build of wheels" |
| stage: deploy |
| python: 3.7 |
| script: if [[ $TRAVIS_BRANCH = "master" && $TRAVIS_PULL_REQUEST = "false" ]]; then ./misc/trigger_wheel_build.sh; fi |
| |
| install: |
| - pip install -U pip setuptools |
| - pip install -U tox |
| - tox --notest |
| |
| script: |
| - tox -- $EXTRA_ARGS |