language: python
dist: xenial
sudo: true
addons:
apt:
packages:
- libhdf5-serial-dev
- netcdf-bin
- libnetcdf-dev
env:
global:
- DEPENDS="numpy>=1.9.0 cython>=0.21 setuptools>=18.0 cftime"
- NO_NET=1
- MPI=0
python:
- "2.7"
- "3.6"
- "3.7"
- "3.8-dev"
matrix:
allow_failures:
- python: "3.8-dev"
- python: 3.7
env:
- MPI=1
- CC=mpicc.mpich
- DEPENDS="numpy>=1.9.0 cython>=0.21 setuptools>=18.0 mpi4py>=1.3.1 cftime"
- NETCDF_VERSION=GITMASTER
- NETCDF_DIR=$HOME
- PATH=${NETCDF_DIR}/bin:${PATH} # pick up nc-config here
include:
# Absolute minimum dependencies.
- python: 2.7
env:
- DEPENDS="numpy==1.9.0 cython==0.21 ordereddict==1.1 setuptools==18.0 cftime"
# test MPI with latest released version
- python: 3.7
dist: xenial
env:
- MPI=1
- CC=mpicc.mpich
- DEPENDS="numpy>=1.9.0 cython>=0.21 setuptools>=18.0 mpi4py>=1.3.1 cftime"
- NETCDF_VERSION=4.6.2
- NETCDF_DIR=$HOME
- PATH=${NETCDF_DIR}/bin:${PATH} # pick up nc-config here
addons:
apt:
packages:
- mpich
- libmpich-dev
- libhdf5-mpich-dev
# test with netcdf-c from github master
- python: 3.7
dist: xenial
env:
- MPI=1
- CC=mpicc.mpich
- DEPENDS="numpy>=1.9.0 cython>=0.21 setuptools>=18.0 mpi4py>=1.3.1 cftime"
- NETCDF_VERSION=GITMASTER
- NETCDF_DIR=$HOME
- PATH=${NETCDF_DIR}/bin:${PATH} # pick up nc-config here
addons:
apt:
packages:
- mpich
- libmpich-dev
- libhdf5-mpich-dev
notifications:
email: false
before_install:
- pip install Cython # workaround for pip bug
- pip install $DEPENDS
install:
- if [ $MPI -eq 1 ] ; then ci/travis/build-parallel-netcdf.sh; fi
- python setup.py build
- python setup.py install
script:
- cd test
- python run_all.py
- |
if [ $MPI -eq 1 ] ; then
cd ../examples
mpirun.mpich -np 4 python mpi_example.py
if [ $? -ne 0 ] ; then
echo "mpi test failed!"
exit 1
else
echo "mpi test passed!"
exit 0
fi
fi