-
Notifications
You must be signed in to change notification settings - Fork 365
/
.travis.yml
96 lines (80 loc) · 3.05 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
language: python
env:
matrix:
- NAME="Minimum dependencies."
PYTHON_VERSION=3.6
PACKAGES="cython=0.28.5 matplotlib=2.2.2 numpy=1.16 owslib=0.17 proj4=5.2.0 scipy=1.2.0"
- NAME="Latest everything."
PYTHON_VERSION=3.8
PACKAGES="cython fiona matplotlib-base numpy proj pykdtree scipy"
sudo: false
git:
# Because we check the history of every file, we need to have
# a deep clone of the repo.
depth: 10000
install:
# Install miniconda
# -----------------
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
# Create the basic testing environment
# ------------------------------------
- conda config --set always_yes yes --set changeps1 no --set show_channel_urls yes
- conda config --add channels conda-forge
- conda config --add channels conda-forge/label/testing
- if [[ "$NAME" != "Latest*" ]]; then
conda config --set restore_free_channel true;
fi
- ENV_NAME="test-environment"
# Customise the testing environment
# ---------------------------------
- PACKAGES="$PACKAGES flufl.lock owslib pep8 pillow pyepsg pyshp pytest"
- PACKAGES="$PACKAGES pytest-xdist requests setuptools_scm"
- PACKAGES="$PACKAGES setuptools_scm_git_archive shapely"
- |
if [[ "$NAME" == "Latest everything"* ]]; then
PACKAGES="$PACKAGES pytest-cov coveralls";
export CYTHON_COVERAGE=1;
fi
- conda create -n $ENV_NAME python=$PYTHON_VERSION $PACKAGES
- source activate $ENV_NAME
# Conda debug
# -----------
- conda list -n $ENV_NAME
- conda list -n $ENV_NAME --explicit
- conda info -a
- MPL_CONFIG_DIR=~/.config/matplotlib
- mkdir -p $MPL_CONFIG_DIR
- echo "backend" ":" "agg" > $MPL_CONFIG_DIR/matplotlibrc
# Install cartopy
# ---------------
- pip install --no-deps .
- python -c "import cartopy; print('Version ', cartopy.__version__)"
script:
# Check that the downloader tool at least knows where to get the data from (but don't actually download it)
- python $TRAVIS_BUILD_DIR/tools/feature_download.py gshhs physical --dry-run
- if [[ "$NAME" == "Latest everything"* ]]; then
CARTOPY_GIT_DIR=$TRAVIS_BUILD_DIR pytest -n 4 --doctest-modules --pyargs cartopy --cov=cartopy -ra;
else
CARTOPY_GIT_DIR=$TRAVIS_BUILD_DIR pytest -n 4 --pyargs cartopy;
fi
after_success:
- if [[ "$NAME" == "Latest everything"* ]]; then
coveralls;
fi
after_failure:
- source activate $ENV_NAME
- python -c "import cartopy.tests.mpl; print(cartopy.tests.mpl.failed_images_html())"
deploy:
- provider: pypi
user: scitools-cartopy
# travis encrypt <password>
password:
secure: Wbc/NQkcEsWVGn3hTemLbaDond6dtAO46Q6PVSS0GiL9RU0bH6QIpLq34JV5hKRuhooFp8WaU49OJsH71iMB4Utrr1y8olkwpTuq7BBsuZGSHtStX0T4UKUCAHynlLnCEqIyBBDIWFsIy6OnLZDnKmPkqLW8IdQfk0aWl0mDv5w=
distributions: sdist
upload_docs: false
on:
repo: SciTools/cartopy
condition: $NAME == "Latest everything."
tags: true