summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml55
1 files changed, 43 insertions, 12 deletions
diff --git a/.travis.yml b/.travis.yml
index 11c76db2..655fab9d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,39 +1,70 @@
sudo: false
language: python
-# tell travis to cache ~/.cache/pip
-cache: pip
+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
-before_script:
- - git remote set-branches --add origin develop
- - git fetch origin develop
+# don't clone the whole repo history, one commit will do
+git:
+ depth: 1
-services:
- - postgresql
+# only build branches we care about (PRs are built seperately)
+branches:
+ only:
+ - master
+ - develop
+ - /^release-v/
+# 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"
+
- python: 2.7
- env: TOX_ENV=pep8
+ env: TOX_ENV=py27 TRIAL_FLAGS="-j 2"
- python: 2.7
- env: TOX_ENV=py27
+ env: TOX_ENV=py27-old TRIAL_FLAGS="-j 2"
- python: 2.7
env: TOX_ENV=py27-postgres TRIAL_FLAGS="-j 4"
+ services:
+ - postgresql
- - python: 3.6
- env: TOX_ENV=py36
+ - python: 3.5
+ env: TOX_ENV=py35 TRIAL_FLAGS="-j 2"
- python: 3.6
- env: TOX_ENV=check_isort
+ env: TOX_ENV=py36 TRIAL_FLAGS="-j 2"
- python: 3.6
+ env: TOX_ENV=py36-postgres TRIAL_FLAGS="-j 4"
+ services:
+ - postgresql
+
+ - # we only need to check for the newsfragment if it's a PR build
+ if: type = pull_request
+ python: 3.6
env: TOX_ENV=check-newsfragment
+ script:
+ - git remote set-branches --add origin develop
+ - git fetch origin develop
+ - tox -e $TOX_ENV
install:
- pip install tox