12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- dist: xenial
- language: python
- cache:
- directories:
- # we only bother to cache the wheels; parts of the http cache get
- # invalidated every build (because they get served with a max-age of 600
- # seconds), which means that we end up re-uploading the whole cache for
- # every build, which is time-consuming In any case, it's not obvious that
- # downloading the cache from S3 would be much faster than downloading the
- # originals from pypi.
- #
- - $HOME/.cache/pip/wheels
- # don't clone the whole repo history, one commit will do
- git:
- depth: 1
- # only build branches we care about (PRs are built seperately)
- branches:
- only:
- - master
- - develop
- - /^release-v/
- - rav/pg95
- # When running the tox environments that call Twisted Trial, we can pass the -j
- # flag to run the tests concurrently. We set this to 2 for CPU bound tests
- # (SQLite) and 4 for I/O bound tests (PostgreSQL).
- matrix:
- fast_finish: true
- include:
- - name: "pep8"
- python: 3.6
- env: TOX_ENV="pep8,check_isort,packaging"
- - name: "py2.7 / sqlite"
- python: 2.7
- env: TOX_ENV=py27,codecov TRIAL_FLAGS="-j 2"
- - name: "py2.7 / sqlite / olddeps"
- python: 2.7
- env: TOX_ENV=py27-old TRIAL_FLAGS="-j 2"
- - name: "py2.7 / postgres9.5"
- python: 2.7
- addons:
- postgresql: "9.5"
- env: TOX_ENV=py27-postgres,codecov TRIAL_FLAGS="-j 4"
- services:
- - postgresql
- - name: "py3.5 / sqlite"
- python: 3.5
- env: TOX_ENV=py35,codecov TRIAL_FLAGS="-j 2"
- - name: "py3.7 / sqlite"
- python: 3.7
- env: TOX_ENV=py37,codecov TRIAL_FLAGS="-j 2"
- - name: "py3.7 / postgres9.4"
- python: 3.7
- addons:
- postgresql: "9.4"
- env: TOX_ENV=py37-postgres TRIAL_FLAGS="-j 4"
- services:
- - postgresql
- - name: "py3.7 / postgres9.5"
- python: 3.7
- addons:
- postgresql: "9.5"
- env: TOX_ENV=py37-postgres,codecov TRIAL_FLAGS="-j 4"
- services:
- - postgresql
- - # we only need to check for the newsfragment if it's a PR build
- if: type = pull_request
- name: "check-newsfragment"
- python: 3.6
- script: scripts-dev/check-newsfragment
- install:
- # this just logs the postgres version we will be testing against (if any)
- - psql -At -U postgres -c 'select version();' || true
- - pip install tox
- # if we don't have python3.6 in this environment, travis unhelpfully gives us
- # a `python3.6` on our path which does nothing but spit out a warning. Tox
- # tries to run it (even if we're not running a py36 env), so the build logs
- # then have warnings which look like errors. To reduce the noise, remove the
- # non-functional python3.6.
- - ( ! command -v python3.6 || python3.6 --version ) &>/dev/null || rm -f $(command -v python3.6)
- script:
- - tox -e $TOX_ENV
|