This repository has been archived by the owner on Jul 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
.travis.yml
97 lines (79 loc) · 3.07 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
97
language: minimal
dist: xenial
env:
matrix:
- PYTHON_VERSION=3.7
install:
# capture installation dir
- export INSTALL_DIR=${pwd}
# iris test-data reference is just a commit
- export IRIS_TEST_DATA_REF="672dbb46c986038fa5d06a3d8aad691fd1951e07"
# iris reference is to the latest "ugrid" branch
- export IRIS_BRANCH="ugrid"
# download and install iris test data
- >
if [[ "${TEST_MINIMAL}" != true ]]; then
wget --quiet -O iris-test-data.zip https://github.com/SciTools/iris-test-data/archive/${IRIS_TEST_DATA_REF}.zip;
unzip -q iris-test-data.zip;
mv "iris-test-data-${IRIS_TEST_DATA_REF}" iris-test-data;
fi
# download iris branch
- >
wget --quiet -O iris.zip wget https://github.com/SciTools/iris/archive/${IRIS_BRANCH}.zip;
unzip -q iris.zip;
mv "iris-${IRIS_BRANCH}" iris;
# install miniconda
- >
echo 'Installing miniconda';
export CONDA_BASE="https://repo.continuum.io/miniconda/Miniconda";
wget --quiet ${CONDA_BASE}3-latest-Linux-x86_64.sh -O miniconda.sh;
bash miniconda.sh -b -p ${HOME}/miniconda;
export PATH="${HOME}/miniconda/bin:${PATH}";
# Create the testing conda environment
# ------------------------------------
# Explicitly add defaults channel, see https://github.com/conda/conda/issues/2675
- >
echo 'Configure conda and create an environment';
conda config --set always_yes yes --set changeps1 no;
conda config --set show_channel_urls True;
conda config --add channels conda-forge;
conda update --quiet conda;
export ENV_NAME='test-environment';
conda create --quiet -n ${ENV_NAME} python=${PYTHON_VERSION} pip;
source activate ${ENV_NAME};
# Install iris dependencies via conda, using iris/gen_conda_requirements.py
# -------------------------------------------------------------------------
- >
echo 'Install Iris + its test dependencies';
CONDA_REQS_GROUPS="test";
CONDA_REQS_FILE="conda-requirements.txt";
python iris/requirements/gen_conda_requirements.py --groups ${CONDA_REQS_GROUPS} > ${CONDA_REQS_FILE};
conda install --quiet -n ${ENV_NAME} --file ${CONDA_REQS_FILE};
# Conda-install our own additional dependencies.
- conda install --file requirements/conda_requirements.txt
# Output environment debug info
- >
conda list -n ${ENV_NAME};
conda info -a;
# set iris config paths
- >
export PREFIX="${HOME}/miniconda/envs/${ENV_NAME}";
SITE_CFG="iris/lib/iris/etc/site.cfg";
echo "[Resources]" > ${SITE_CFG};
echo "test_data_dir = $(pwd)/iris-test-data/test_data" >> ${SITE_CFG};
echo "doc_dir = $(pwd)/docs/iris" >> ${SITE_CFG};
echo "[System]" >> ${SITE_CFG};
echo "udunits2_path = ${PREFIX}/lib/libudunits2.so" >> ${SITE_CFG};
# install iris
- >
cd iris;
python setup.py --quiet install;
# Finally, install iris-ugrid itself.
# FOR NOW : just put it on the module searchpath (no actual install code)
- cd ..;
- export PYTHONPATH=$(readlink -f .):$PYTHONPATH;
script:
- >
echo $(black --version);
black --check ${INSTALL_DIR};
- pytest -v ./iris_ugrid/tests