diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 73 |
1 files changed, 50 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml index fd41841c77..0d0fa7082a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -sudo: false +dist: xenial language: python cache: @@ -22,49 +22,76 @@ branches: - 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: - - python: 2.7 - env: TOX_ENV=packaging - - - python: 3.6 - env: TOX_ENV="pep8,check_isort" + - name: "pep8" + python: 3.6 + env: TOX_ENV="pep8,check_isort,packaging" - - python: 2.7 - env: TOX_ENV=py27 + - name: "py2.7 / sqlite" + python: 2.7 + env: TOX_ENV=py27,codecov TRIAL_FLAGS="-j 2" - - python: 2.7 - env: TOX_ENV=py27-old + - name: "py2.7 / sqlite / olddeps" + python: 2.7 + env: TOX_ENV=py27-old TRIAL_FLAGS="-j 2" - - python: 2.7 - env: TOX_ENV=py27-postgres TRIAL_FLAGS="-j 4" + - name: "py2.7 / postgres9.5" + python: 2.7 + addons: + postgresql: "9.5" + env: TOX_ENV=py27-postgres,codecov TRIAL_FLAGS="-j 4" services: - postgresql - - python: 3.5 - env: TOX_ENV=py35 + - name: "py3.5 / sqlite" + python: 3.5 + env: TOX_ENV=py35,codecov TRIAL_FLAGS="-j 2" - - python: 3.6 - env: TOX_ENV=py36 + - name: "py3.7 / sqlite" + python: 3.7 + env: TOX_ENV=py37,codecov TRIAL_FLAGS="-j 2" - - python: 3.6 - env: TOX_ENV=py36-postgres TRIAL_FLAGS="-j 4" + - 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 - env: TOX_ENV=check-newsfragment - script: - - git remote set-branches --add origin develop - - git fetch origin develop - - tox -e $TOX_ENV + 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 |