|
16 | 16 | # |
17 | 17 | # Reminder: Update README.rst if you change MongoDB versions we test. |
18 | 18 |
|
19 | | -language: python |
20 | 19 |
|
| 20 | +language: python |
21 | 21 | python: |
22 | 22 | - 2.7 |
23 | 23 | - 3.5 |
24 | 24 | - 3.6 |
25 | 25 | - pypy |
26 | 26 |
|
| 27 | +dist: xenial |
| 28 | + |
27 | 29 | env: |
28 | | -- MONGODB=3.4 PYMONGO=3.x |
| 30 | + global: |
| 31 | + - MONGODB_3_4=3.4.17 |
| 32 | + - MONGODB_3_6=3.6.12 |
| 33 | + matrix: |
| 34 | + - MONGODB=${MONGODB_3_4} PYMONGO=3.x |
29 | 35 |
|
30 | 36 | matrix: |
| 37 | + |
31 | 38 | # Finish the build as soon as one job fails |
32 | 39 | fast_finish: true |
33 | 40 |
|
34 | 41 | include: |
35 | 42 | - python: 2.7 |
36 | | - env: MONGODB=3.4 PYMONGO=3.4.x |
| 43 | + env: MONGODB=${MONGODB_3_4} PYMONGO=3.4.x |
37 | 44 | - python: 3.6 |
38 | | - env: MONGODB=3.6 PYMONGO=3.x |
| 45 | + env: MONGODB=${MONGODB_3_6} PYMONGO=3.x |
| 46 | + - python: 3.7 |
| 47 | + env: MONGODB=${MONGODB_3_6} PYMONGO=3.x |
39 | 48 |
|
40 | | -before_install: |
41 | | -- bash .install_mongodb_on_travis.sh |
42 | | -- sleep 20 # https://docs.travis-ci.com/user/database-setup/#mongodb-does-not-immediately-accept-connections |
43 | | -- mongo --eval 'db.version();' |
44 | 49 |
|
45 | 50 | install: |
46 | | -- sudo apt-get install python-dev python3-dev libopenjpeg-dev zlib1g-dev libjpeg-turbo8-dev |
47 | | - libtiff4-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev |
48 | | - python-tk |
49 | | -- travis_retry pip install --upgrade pip |
50 | | -- travis_retry pip install coveralls |
51 | | -- travis_retry pip install flake8 flake8-import-order |
52 | | -- travis_retry pip install "tox" # tox 3.11.0 has requirement virtualenv>=14.0.0 |
53 | | -- travis_retry pip install "virtualenv" # virtualenv>=14.0.0 has dropped Python 3.2 support (and pypy3 is based on py32) |
54 | | -- travis_retry tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- -e test |
55 | | - |
56 | | -# Cache dependencies installed via pip |
57 | | -cache: pip |
58 | | - |
59 | | -# Run flake8 for py27 |
| 51 | + # Install Mongo |
| 52 | + - wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-${MONGODB}.tgz |
| 53 | + - tar xzf mongodb-linux-x86_64-${MONGODB}.tgz |
| 54 | + - ${PWD}/mongodb-linux-x86_64-${MONGODB}/bin/mongod --version |
| 55 | + # Install python dependencies |
| 56 | + - pip install --upgrade pip |
| 57 | + - pip install coveralls |
| 58 | + - pip install flake8 flake8-import-order |
| 59 | + - pip install tox # tox 3.11.0 has requirement virtualenv>=14.0.0 |
| 60 | + - pip install virtualenv # virtualenv>=14.0.0 has dropped Python 3.2 support (and pypy3 is based on py32) |
| 61 | + # Install the tox venv |
| 62 | + - tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- -e test |
| 63 | + |
60 | 64 | before_script: |
61 | | -- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then flake8 .; else echo "flake8 only runs on py27"; fi |
| 65 | + - mkdir ${PWD}/mongodb-linux-x86_64-${MONGODB}/data |
| 66 | + - ${PWD}/mongodb-linux-x86_64-${MONGODB}/bin/mongod --dbpath ${PWD}/mongodb-linux-x86_64-${MONGODB}/data --logpath ${PWD}/mongodb-linux-x86_64-${MONGODB}/mongodb.log --fork |
| 67 | + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then flake8 .; else echo "flake8 only runs on py27"; fi # Run flake8 for py27 |
| 68 | + - mongo --eval 'db.version();' # Make sure mongo is awake |
62 | 69 |
|
63 | 70 | script: |
64 | | -- tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- --with-coverage |
| 71 | + - tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- --with-coverage |
65 | 72 |
|
66 | 73 | # For now only submit coveralls for Python v2.7. Python v3.x currently shows |
67 | 74 | # 0% coverage. That's caused by 'use_2to3', which builds the py3-compatible |
|
0 commit comments