Skip to content

Commit fcb3f54

Browse files
committed
travis: Test on all available PostgreSQL versions
1 parent d4a66cb commit fcb3f54

File tree

6 files changed

+95
-19
lines changed

6 files changed

+95
-19
lines changed

.ci/travis-before-install.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/bash
22

3-
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
3+
if [ "${TRAVIS_OS_NAME}" == "linux" -a "${BUILD}" == "full" ]; then
44
# Allow docker guests to connect to the database
5-
sudo service postgresql stop 9.4
5+
sudo service postgresql stop ${PGVERSION}
66
echo "listen_addresses = '*'" | \
7-
sudo tee --append /etc/postgresql/9.4/main/postgresql.conf
7+
sudo tee --append /etc/postgresql/${PGVERSION}/main/postgresql.conf
88
echo "host all all 172.17.0.0/16 trust" | \
9-
sudo tee --append /etc/postgresql/9.4/main/pg_hba.conf
10-
sudo service postgresql start 9.4
9+
sudo tee --append /etc/postgresql/${PGVERSION}/main/pg_hba.conf
10+
sudo service postgresql start ${PGVERSION}
1111
fi

.ci/travis-build-and-upload.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set -e -x
44

55

6-
if [ -z "${TRAVIS_TAG}" ]; then
6+
if [ -z "${TRAVIS_TAG}" -o "${BUILD}" != "full" ]; then
77
# Not a release
88
exit 0
99
fi

.ci/travis-build-docs.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
set -e -x
66

7+
if [ "${BUILD}" != "docs" ]; then
8+
echo "Skipping documentation build."
9+
exit 0
10+
fi
11+
712
SOURCE_BRANCH="master"
813
TARGET_BRANCH="gh-pages"
914
DOC_BUILD_DIR="_build/html/"
@@ -17,12 +22,15 @@ pip install -r docs/requirements.txt
1722
make htmldocs
1823

1924
if [ "${TRAVIS_PULL_REQUEST}" != "false" \
20-
-o "${TRAVIS_BRANCH}" != "${SOURCE_BRANCH}" \
2125
-o "${TRAVIS_OS_NAME}" != "linux" ]; then
2226
echo "Skipping documentation deploy."
2327
exit 0
2428
fi
2529

30+
if [ "${TRAVIS_BRANCH}" != "${SOURCE_BRANCH}" -a -z "${TRAVIS_TAG}" ]; then
31+
echo "Skipping documentation deploy."
32+
exit 0
33+
fi
2634

2735
git config --global user.email "infra@magic.io"
2836
git config --global user.name "Travis CI"

.ci/travis-tests.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,20 @@
22

33
set -e -x
44

5+
if [ "${BUILD}" != "quick" -a "${BUILD}" != "full" ]; then
6+
echo "Skipping tests."
7+
exit 0
8+
fi
9+
510
if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
611
PYENV_ROOT="$HOME/.pyenv"
712
PATH="$PYENV_ROOT/bin:$PATH"
813
eval "$(pyenv init -)"
914
fi
1015

11-
make && make test
12-
make debug && make test
16+
if [ "${BUILD}" == "quick" ]; then
17+
make && make quicktest
18+
else
19+
make && make test
20+
make debug && make test
21+
fi

.travis.yml

Lines changed: 63 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
language: generic
22

3-
sudo: required
4-
5-
services:
6-
- postgresql
7-
- docker
8-
93
env:
104
global:
115
- PYMODULE=asyncpg
@@ -14,22 +8,82 @@ env:
148
- secure: "XEUUpzRZeesmMUfImKbCJm1D1LmWXkCW6ywtquuLEp6vRboH+URW8XtOhPehj47kn+/D4LpS9DR7GTBQ2DJR6kb07uqMu4b3WhTj8gewc8T5A0bxbdkkxHDfUCw7RF+EYLoN+n8xdqgBHImLLeuY/iRf+/IUJxGBARC4OZkejXhqJktNkXNO7aDcFfl9jcU0s1azaGbgeaShSAnnQPcdnJQ5tn7qHPPjTMWWly09A0K6CGqFK9bXUlD/hLGyC6NjOc8zMhv6vt4rI/zkjtSf219t4svivTjZsWWP6LMoWNWvwbOVfr8MThU4449lfplTWkmvEP6cQAJrvLjBOKOfwvV1MhqCMLGUMxeagYq7bHwSKQQ7t+r4a3jX94go+3Y1AQ0z9Yun+UW4qxrmHeIR5tLh2cePQylkIiTaWePZNPsVl3xF9HJtWcVgNgij4r+EU6WC9EqlV4DJyISjsptSa69CLBieWrzPYNxCPr6cTXYKKu6svRj3uho2q+c3Iavzjt4e5VEgppeduXIrvqMsaAa/E+j7b3QmC0HfZ4k8U5J2evtell5gh70Vf20A9LsOF06m+I0mSDwrpGasSFCNrWH4n3cUDTlGzc93Zqw5eAmg0yYxLKWk1sHNLOB3hNn+NLSIkS6Drcrsya+Fp5k93I4qDIXvC9n7ODLMirAJ76o="
159

1610
matrix:
11+
fast_finish: true
12+
1713
include:
1814
- os: osx
19-
osx_image: xcode7.1 # OS X 10.10
2015
# Travis macOS env does not support Python yet,
2116
# so we have to set things up manually in install.sh.
2217
env: PYTHON_VERSION=3.5.2
2318
PIP_USER=1
2419

20+
- os: linux
21+
dist: precise
22+
sudo: false
23+
language: python
24+
python: "3.5"
25+
services: postgresql
26+
env: BUILD=quick PGVERSION=9.1
27+
addons:
28+
postgresql: '9.1'
29+
2530
- os: linux
2631
dist: trusty
32+
sudo: false
2733
language: python
2834
python: "3.5"
29-
services: [postgresql, docker]
35+
services: postgresql
36+
env: BUILD=quick PGVERSION=9.2
37+
addons:
38+
postgresql: '9.2'
39+
40+
- os: linux
41+
dist: trusty
42+
sudo: false
43+
language: python
44+
python: "3.5"
45+
services: postgresql
46+
env: BUILD=quick PGVERSION=9.3
47+
addons:
48+
postgresql: '9.3'
49+
50+
- os: linux
51+
dist: trusty
52+
sudo: false
53+
language: python
54+
python: "3.5"
55+
services: postgresql
56+
env: BUILD=quick PGVERSION=9.4
3057
addons:
3158
postgresql: '9.4'
3259

60+
- os: linux
61+
dist: trusty
62+
sudo: false
63+
language: python
64+
python: "3.5"
65+
services: postgresql
66+
env: BUILD=quick PGVERSION=9.5
67+
addons:
68+
postgresql: '9.5'
69+
70+
- os: linux
71+
dist: trusty
72+
sudo: false
73+
language: python
74+
python: "3.5"
75+
env: BUILD=docs
76+
77+
- os: linux
78+
dist: trusty
79+
sudo: required
80+
language: python
81+
python: "3.5"
82+
env: BUILD=full PGVERSION=9.6
83+
services: [postgresql, docker]
84+
addons:
85+
postgresql: '9.6'
86+
3387
cache:
3488
directories:
3589
- $HOME/.cache/pip
@@ -57,3 +111,4 @@ deploy:
57111
on:
58112
tags: true
59113
all_branches: true
114+
condition: '"${BUILD}" == "full"'

Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: compile debug test clean all
1+
.PHONY: compile debug test quicktest clean all
22

33

44
PYTHON ?= python
@@ -33,6 +33,10 @@ test:
3333
USE_UVLOOP=1 $(PYTHON) -m unittest discover -s tests
3434

3535

36+
quicktest:
37+
$(PYTHON) -m unittest discover -s tests
38+
39+
3640
sdist: clean compile test
3741
$(PYTHON) setup.py sdist
3842

@@ -41,5 +45,5 @@ release: clean compile test
4145
$(PYTHON) setup.py sdist upload
4246

4347

44-
htmldocs:
48+
htmldocs: compile
4549
$(MAKE) -C docs html

0 commit comments

Comments
 (0)