diff --git a/.install_mongodb_on_travis.sh b/.install_mongodb_on_travis.sh deleted file mode 100644 index 0be02655..00000000 --- a/.install_mongodb_on_travis.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -sudo apt-get remove mongodb-org-server -sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 - -if [ "$MONGODB" = "3.4" ]; then - sudo apt-key adv --keyserver keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 - echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list - sudo apt-get update - sudo apt-get install mongodb-org-server=3.4.17 - # service should be started automatically -elif [ "$MONGODB" = "3.6" ]; then - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 - echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list - sudo apt-get update - sudo apt-get install mongodb-org-server=3.6.12 - # service should be started automatically -else - echo "Invalid MongoDB version, expected 2.6, 3.0, 3.2, 3.4 or 3.6." - exit 1 -fi; - -mkdir db -1>db/logs mongod --dbpath=db & diff --git a/.travis.yml b/.travis.yml index b1fcba07..ec63b7f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,8 +16,8 @@ # # Reminder: Update README.rst if you change MongoDB versions we test. -language: python +language: python python: - 2.7 - 3.5 @@ -25,43 +25,53 @@ python: - pypy env: -- MONGODB=3.4 PYMONGO=3.x + global: + - MONGODB_3_4=3.4.17 + - MONGODB_3_6=3.6.12 + matrix: + - MONGODB=${MONGODB_3_4} PYMONGO=3.x matrix: + # Finish the build as soon as one job fails fast_finish: true include: - python: 2.7 - env: MONGODB=3.4 PYMONGO=3.4.x + env: MONGODB=${MONGODB_3_4} PYMONGO=3.4.x - python: 3.6 - env: MONGODB=3.6 PYMONGO=3.x + env: MONGODB=${MONGODB_3_6} PYMONGO=3.x + - python: 3.7 + dist: xenial # python 3.7 not available on default dist (trusty) + env: MONGODB=${MONGODB_3_6} PYMONGO=3.x -before_install: -- bash .install_mongodb_on_travis.sh -- sleep 20 # https://docs.travis-ci.com/user/database-setup/#mongodb-does-not-immediately-accept-connections -- mongo --eval 'db.version();' install: -- sudo apt-get install python-dev python3-dev libopenjpeg-dev zlib1g-dev libjpeg-turbo8-dev - libtiff4-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev - python-tk -- travis_retry pip install --upgrade pip -- travis_retry pip install coveralls -- travis_retry pip install flake8 flake8-import-order -- travis_retry pip install "tox" # tox 3.11.0 has requirement virtualenv>=14.0.0 -- travis_retry pip install "virtualenv" # virtualenv>=14.0.0 has dropped Python 3.2 support (and pypy3 is based on py32) -- travis_retry tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- -e test + - echo "INIT-"$(date) + # Install Mongo + - wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-${MONGODB}.tgz + - tar xzf mongodb-linux-x86_64-${MONGODB}.tgz + - ${PWD}/mongodb-linux-x86_64-${MONGODB}/bin/mongod --version + # Install python dependencies + - echo "INSTALL WITH PIP-"$(date) + - pip install --upgrade pip + - pip install coveralls + - pip install flake8 flake8-import-order + - pip install tox # tox 3.11.0 has requirement virtualenv>=14.0.0 + - pip install virtualenv # virtualenv>=14.0.0 has dropped Python 3.2 support (and pypy3 is based on py32) + # Install the tox venv + - echo "TOX INSTALL-"$(date) + - tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- -e test -# Cache dependencies installed via pip -cache: pip - -# Run flake8 for py27 before_script: -- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then flake8 .; else echo "flake8 only runs on py27"; fi + - mkdir ${PWD}/mongodb-linux-x86_64-${MONGODB}/data + - ${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 + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then flake8 .; else echo "flake8 only runs on py27"; fi # Run flake8 for py27 + - mongo --eval 'db.version();' # Make sure mongo is awake script: -- tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- --with-coverage + - echo "TOX RUN TEST-" $(date) + - tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO | tr -d . | sed -e 's/pypypy/pypy/') -- --with-coverage # For now only submit coveralls for Python v2.7. Python v3.x currently shows # 0% coverage. That's caused by 'use_2to3', which builds the py3-compatible diff --git a/docs/changelog.rst b/docs/changelog.rst index 5bc2b67e..cdbb430e 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,9 +1,11 @@ + ========= Changelog ========= Development =========== +- Add Python 3.7 in travis #2058 - (Fill this out as you fix issues and develop your features). Changes in 0.18.0