|
24 | 24 | - secure: "N9/qBUT5CqfC7KQBDy5mIWZcGNuUJk3e/qmKJpotWYV+zwOI4GghJsRce6nFnlRiwl65l5oBEcvf3+sBvUfbZqh7U0MdHpw2tHhr2FSCmMB3bkvARZblh9M37f4da9G9VmRkqnyBM5G5TImXtoq4dusvNWKvLW0qETciaipq7ws="
|
25 | 25 |
|
26 | 26 | git:
|
| 27 | + # We need a deep clone so that we can compute the age of the files using their git history. |
27 | 28 | depth: 10000
|
28 | 29 |
|
29 | 30 | install:
|
30 |
| - - export IRIS_TEST_DATA_REF="2f3a6bcf25f81bd152b3d66223394074c9069a96" |
31 |
| - - export IRIS_TEST_DATA_SUFFIX=$(echo "${IRIS_TEST_DATA_REF}" | sed "s/^v//") |
| 31 | + - > |
| 32 | + export IRIS_TEST_DATA_REF="2f3a6bcf25f81bd152b3d66223394074c9069a96"; |
| 33 | + export IRIS_TEST_DATA_SUFFIX=$(echo "${IRIS_TEST_DATA_REF}" | sed "s/^v//"); |
32 | 34 |
|
33 | 35 | # Install miniconda
|
34 | 36 | # -----------------
|
35 |
| - - export CONDA_BASE=https://repo.continuum.io/miniconda/Miniconda |
36 |
| - - if [[ "$TRAVIS_PYTHON_VERSION" == 2* ]]; then |
37 |
| - wget ${CONDA_BASE}2-latest-Linux-x86_64.sh -O miniconda.sh; |
| 37 | + - > |
| 38 | + echo 'Installing miniconda'; |
| 39 | + export CONDA_BASE=https://repo.continuum.io/miniconda/Miniconda; |
| 40 | + if [[ "$TRAVIS_PYTHON_VERSION" == 2* ]]; then |
| 41 | + wget --quiet ${CONDA_BASE}2-latest-Linux-x86_64.sh -O miniconda.sh; |
38 | 42 | else
|
39 |
| - wget ${CONDA_BASE}3-latest-Linux-x86_64.sh -O miniconda.sh; |
40 |
| - fi |
41 |
| - - bash miniconda.sh -b -p $HOME/miniconda |
42 |
| - - export PATH="$HOME/miniconda/bin:$PATH" |
| 43 | + wget --quiet ${CONDA_BASE}3-latest-Linux-x86_64.sh -O miniconda.sh; |
| 44 | + fi; |
| 45 | + bash miniconda.sh -b -p $HOME/miniconda; |
| 46 | + export PATH="$HOME/miniconda/bin:$PATH"; |
43 | 47 |
|
44 | 48 | # Create the basic testing environment
|
45 | 49 | # ------------------------------------
|
46 | 50 | # Explicitly add defaults channel, see https://github.com/conda/conda/issues/2675
|
47 |
| - - conda config --add channels defaults |
48 |
| - - conda config --set always_yes yes --set changeps1 no |
49 |
| - - conda config --set show_channel_urls True |
50 |
| - - conda update --quiet conda |
51 |
| - - ENV_NAME='test-environment' |
52 |
| - - conda create --quiet -n $ENV_NAME python=$TRAVIS_PYTHON_VERSION |
53 |
| - - source activate $ENV_NAME |
| 51 | + - > |
| 52 | + echo 'Configure conda and create an environment'; |
| 53 | + conda config --set always_yes yes --set changeps1 no; |
| 54 | + conda config --set show_channel_urls True; |
| 55 | + conda config --add channels conda-forge; |
| 56 | + conda update --quiet conda; |
| 57 | + ENV_NAME='test-environment'; |
| 58 | + conda create --quiet -n $ENV_NAME python=$TRAVIS_PYTHON_VERSION pip; |
| 59 | + source activate $ENV_NAME; |
54 | 60 |
|
55 | 61 | # Customise the testing environment
|
56 | 62 | # ---------------------------------
|
57 |
| - - conda config --add channels conda-forge |
58 |
| - - if [[ "$TEST_MINIMAL" == true ]]; then |
59 |
| - conda install --quiet --file minimal-conda-requirements.txt; |
60 |
| - else |
61 |
| - if [[ "$TRAVIS_PYTHON_VERSION" == 3* ]]; then |
62 |
| - sed -e '/esmpy/d' -e 's/#.\+$//' conda-requirements.txt | xargs conda install --quiet; |
63 |
| - else |
64 |
| - conda install --quiet --file conda-requirements.txt; |
65 |
| - fi |
66 |
| - fi |
67 |
| - |
68 |
| - # JUST FOR NOW : Install latest version of iris-grib. |
69 |
| - # TODO : remove when this release is available on conda-forge. |
70 |
| - - if [[ "$TEST_MINIMAL" != true ]]; then |
71 |
| - pip install git+https://github.com/SciTools/[email protected] ; |
72 |
| - fi |
| 63 | + - > |
| 64 | + echo 'Install Iris dependencies'; |
| 65 | + CONDA_REQS_FLAGS=""; |
| 66 | + CONDA_REQS_GROUPS="test"; |
| 67 | + if [[ "$TRAVIS_PYTHON_VERSION" == 2* ]]; then |
| 68 | + CONDA_REQS_FLAGS="${CONDA_REQS_FLAGS} --py2"; |
| 69 | + fi; |
| 70 | + if [[ "$TEST_MINIMAL" != true ]]; then |
| 71 | + CONDA_REQS_GROUPS="${CONDA_REQS_GROUPS} all"; |
| 72 | + fi; |
| 73 | + if [[ "${TEST_TARGET}" == 'doctest' ]]; then |
| 74 | + CONDA_REQS_GROUPS="${CONDA_REQS_GROUPS} docs"; |
| 75 | + fi; |
| 76 | + CONDA_REQS_FILE=conda-requirements.txt; |
| 77 | + python requirements/gen_conda_requirements.py ${CONDA_REQS_FLAGS} --groups ${CONDA_REQS_GROUPS} > ${CONDA_REQS_FILE}; |
| 78 | + cat ${CONDA_REQS_FILE}; |
| 79 | + conda install --quiet --file ${CONDA_REQS_FILE}; |
73 | 80 |
|
74 | 81 | - PREFIX=$HOME/miniconda/envs/$ENV_NAME
|
75 | 82 |
|
76 | 83 | # Output debug info
|
77 |
| - - conda list |
78 |
| - - conda info -a |
| 84 | + - > |
| 85 | + conda list; |
| 86 | + conda info -a; |
79 | 87 |
|
80 | 88 | # Pre-load Natural Earth data to avoid multiple, overlapping downloads.
|
81 | 89 | # i.e. There should be no DownloadWarning reports in the log.
|
82 | 90 | - python -c 'import cartopy; cartopy.io.shapereader.natural_earth()'
|
83 | 91 |
|
84 | 92 | # iris test data
|
85 |
| - - if [[ "$TEST_MINIMAL" != true ]]; then |
86 |
| - wget -O iris-test-data.zip https://github.com/SciTools/iris-test-data/archive/${IRIS_TEST_DATA_REF}.zip; |
| 93 | + - > |
| 94 | + if [[ "$TEST_MINIMAL" != true ]]; then |
| 95 | + wget --quiet -O iris-test-data.zip https://github.com/SciTools/iris-test-data/archive/${IRIS_TEST_DATA_REF}.zip; |
87 | 96 | unzip -q iris-test-data.zip;
|
88 |
| - ln -s $(pwd)/iris-test-data-${IRIS_TEST_DATA_SUFFIX} iris-test-data; |
| 97 | + mv "iris-test-data-${IRIS_TEST_DATA_SUFFIX}" iris-test-data; |
89 | 98 | fi
|
90 | 99 |
|
91 | 100 | # set config paths
|
92 |
| - - SITE_CFG=lib/iris/etc/site.cfg |
93 |
| - - echo "[Resources]" > $SITE_CFG |
94 |
| - - echo "test_data_dir = $(pwd)/iris-test-data/test_data" >> $SITE_CFG |
95 |
| - - echo "doc_dir = $(pwd)/docs/iris" >> $SITE_CFG |
96 |
| - - echo "[System]" >> $SITE_CFG |
97 |
| - - echo "udunits2_path = $PREFIX/lib/libudunits2.so" >> $SITE_CFG |
| 101 | + - > |
| 102 | + SITE_CFG=lib/iris/etc/site.cfg; |
| 103 | + echo "[Resources]" > $SITE_CFG; |
| 104 | + echo "test_data_dir = $(pwd)/iris-test-data/test_data" >> $SITE_CFG; |
| 105 | + echo "doc_dir = $(pwd)/docs/iris" >> $SITE_CFG; |
| 106 | + echo "[System]" >> $SITE_CFG; |
| 107 | + echo "udunits2_path = $PREFIX/lib/libudunits2.so" >> $SITE_CFG; |
98 | 108 |
|
99 | 109 | - python setup.py --quiet install
|
100 | 110 |
|
| 111 | + # JUST FOR NOW : Install latest version of iris-grib. |
| 112 | + # TODO : remove when iris doesn't do an integration test requiring iris-grib. |
| 113 | + - if [[ "$TEST_MINIMAL" != true && ${TRAVIS_PYTHON_VERSION} == 2* ]]; then |
| 114 | + conda install python-ecmwf_grib; |
| 115 | + pip install git+https://github.com/SciTools/[email protected]; |
| 116 | + fi |
| 117 | + |
101 | 118 | script:
|
102 | 119 | - if [[ $TEST_TARGET == 'default' ]]; then
|
103 | 120 | python -m iris.tests.runner --default-tests --system-tests --print-failed-images --num-processors=3;
|
|
0 commit comments