language: python
sudo: false
cache: pip
env:
global:
- CYTHON_COVERAGE=True
- PROJSOURCE=6.0.0
# Following generated with
- WHEELHOUSE_UPLOADER_USERNAME=travis-worker
# Following generated by
# travis encrypt -r jswhit/pyproj WHEELHOUSE_UPLOADER_SECRET=<api key>
- secure: "IoTBjr6e/eBQWtGleP1X36SpocljQxsmJZ+EcVGhJ4v3GZaECLLklKtrWf8DyygFNPFIZ5Tri/C5rPTbuioG6gWtrL8QPgXOK9MI1QZqmfx/kNi0tmH0g9BxL0jlhP8SInZFsfO4m8qJkYJwh3DqBudQhmbDabnMbX2h7hKKTSA="
matrix:
include:
- language: cpp
os: osx
env:
- PYTHON=3.6
- PROJSOURCE=6.0.0
- python: 2.7
env:
- PROJSOURCE=6.0.0
- python: 3.5
env:
- PROJSOURCE=6.0.0
- python: 3.6
env:
- PROJSOURCE=6.0.0
- python: 3.7
dist: xenial
sudo: true
env:
- PROJSOURCE=6.0.0
- python: "nightly"
env:
- PROJSOURCE=git
allow_failures:
- python: "nightly"
- env: PROJSOURCE=git
before_install:
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install sqlite3 wget openssl readline
# from https://pythonhosted.org/CodeChat/.travis.yml.html
brew outdated pyenv || brew upgrade pyenv
# virtualenv doesn't work without pyenv knowledge. venv in Python 3.3
# doesn't provide Pip by default. So, use `pyenv-virtualenv <https://github.com/yyuu/pyenv-virtualenv/blob/master/README.md>`_.
brew install pyenv-virtualenv
pyenv install $PYTHON
# I would expect something like ``pyenv init; pyenv local $PYTHON`` or
# ``pyenv shell $PYTHON`` would work, but ``pyenv init`` doesn't seem to
# modify the Bash environment. ??? So, I hand-set the variables instead.
export PYENV_VERSION=$PYTHON
export PATH="/Users/travis/.pyenv/shims:${PATH}"
pyenv-virtualenv venv
source venv/bin/activate
# A manual check that the correct version of Python is running.
python --version
else
sudo apt-get install -qq sqlite3 libsqlite3-dev
fi
- echo "PROJSOURCE is $PROJSOURCE"
# Download external PROJ.4 version and compile
- export PROJ_DIR=/tmp/proj_dl_install
- ci/travis/proj-dl-and-compile "$PROJSOURCE"
- export PROJ_LIB=$PROJ_DIR/share/proj
install:
# coverage report requires a local install
- pip install "pip>=10.0.1"
- PYPROJ_FULL_COVERAGE=YES pip install -e .
- pip install -r requirements-dev.txt
- pip install coveralls
script:
- python -c "import pyproj; pyproj.Proj(init='epsg:4269')"
- nose2 -v
- nose2 --coverage pyproj --coverage-report xml # coverage report on separate line as does not show failures
after_success:
- coveralls
## Build manylinux wheels & upload to Rackspace container
#- |
# if [ "$TRAVIS_OS_NAME" != "osx" ] && [ "$TRAVIS_TAG" == "$TRAVIS_BRANCH" ]; then
# docker run --rm -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/build-wheels.sh ${PROJSOURCE} ${TRAVIS_PYTHON_VERSION}
# pip install wheelhouse-uploader
# python -m wheelhouse_uploader upload --local-folder ${TRAVIS_BUILD_DIR}/wheelhouse/ --no-update-index wheels
# fi
notifications:
email: false