From 16fdac93c09036b44f90201d9078b17808f819e0 Mon Sep 17 00:00:00 2001 From: crusaderky Date: Thu, 26 Sep 2019 10:38:46 +0100 Subject: [PATCH] CI test suites with pinned minimum dependencies (#3346) * CI test suites with pinned minimum dependencies * code review * Clarity re lxml --- azure-pipelines.yml | 8 +++- .../{py35-min.yml => py35-bare-minimum.yml} | 0 ci/requirements/py36-min-all-deps.yml | 43 +++++++++++++++++++ ci/requirements/py36-min-nep18.yml | 17 ++++++++ ci/requirements/py36.yml | 3 +- ci/requirements/py37-windows.yml | 3 +- ci/requirements/py37.yml | 3 +- xarray/tests/test_plot.py | 2 +- 8 files changed, 73 insertions(+), 6 deletions(-) rename ci/requirements/{py35-min.yml => py35-bare-minimum.yml} (100%) create mode 100644 ci/requirements/py36-min-all-deps.yml create mode 100644 ci/requirements/py36-min-nep18.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1c325d7734f..d023aa317c7 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -8,8 +8,12 @@ jobs: - job: Linux strategy: matrix: - py35-min: - conda_env: py35-min + py35-bare-minimum: + conda_env: py35-bare-minimum + py36-min-all-deps: + conda_env: py36-min-all-deps + py36-min-nep18: + conda_env: py36-min-nep18 py36: conda_env: py36 py37: diff --git a/ci/requirements/py35-min.yml b/ci/requirements/py35-bare-minimum.yml similarity index 100% rename from ci/requirements/py35-min.yml rename to ci/requirements/py35-bare-minimum.yml diff --git a/ci/requirements/py36-min-all-deps.yml b/ci/requirements/py36-min-all-deps.yml new file mode 100644 index 00000000000..1829f2a11e3 --- /dev/null +++ b/ci/requirements/py36-min-all-deps.yml @@ -0,0 +1,43 @@ +name: xarray-tests +channels: + - conda-forge +dependencies: + - python=3.6.7 + - black + - boto3=1.9.235 + - bottleneck=1.2.1 + - cdms2=3.1.3 + - cfgrib=0.9.7.2 + - cftime=1.0.3.4 + - coveralls + - dask=2.4.0 + - distributed=2.4.0 + - flake8 + - h5netcdf=0.7.4 + - h5py=2.10.0 + - hdf5=1.10.5 + - hypothesis + - iris=2.2.0 + - lxml=4.4.1 # optional dep of pydap + - matplotlib=3.1.1 + - mypy==0.720 # Must match .pre-commit-config.yaml + - nc-time-axis=1.2.0 + - netcdf4=1.5.1.2 + - numba=0.45.1 + - numpy=1.17.2 + - pandas=0.25.1 + - pip + - pseudonetcdf=3.0.2 + - pydap=3.2.2 + - pynio=1.5.5 + - pytest + - pytest-cov + - pytest-env + - rasterio=1.0.28 + - scipy=1.3.1 + - seaborn=0.9.0 + # - sparse # See py36-min-nep18.yml + - toolz=0.10.0 + - zarr=2.3.2 + - pip: + - numbagg==0.1 diff --git a/ci/requirements/py36-min-nep18.yml b/ci/requirements/py36-min-nep18.yml new file mode 100644 index 00000000000..8680e412a99 --- /dev/null +++ b/ci/requirements/py36-min-nep18.yml @@ -0,0 +1,17 @@ +name: xarray-tests +channels: + - conda-forge +dependencies: + # Optional dependencies that require NEP18, such as sparse, + # require drastically newer packages than everything else + - python=3.6.7 + - coveralls + - dask=2.4.0 + - distributed=2.4.0 + - numpy=1.17 + - pandas=0.25 + - pytest + - pytest-cov + - pytest-env + - scipy=1.3 + - sparse=0.8.0 diff --git a/ci/requirements/py36.yml b/ci/requirements/py36.yml index 7e852b5c260..187a9c79fbf 100644 --- a/ci/requirements/py36.yml +++ b/ci/requirements/py36.yml @@ -15,9 +15,10 @@ dependencies: - flake8 - h5netcdf - h5py + - hdf5 - hypothesis - iris>=1.10 - - lxml + - lxml # optional dep of pydap - matplotlib - mypy==0.720 # Must match .pre-commit-config.yaml - nc-time-axis diff --git a/ci/requirements/py37-windows.yml b/ci/requirements/py37-windows.yml index 31af80357ad..24297327393 100644 --- a/ci/requirements/py37-windows.yml +++ b/ci/requirements/py37-windows.yml @@ -15,9 +15,10 @@ dependencies: - flake8 - h5netcdf - h5py + - hdf5 - hypothesis - iris>=1.10 - - lxml + - lxml # optional dep of pydap - matplotlib - mypy==0.720 # Must match .pre-commit-config.yaml - nc-time-axis diff --git a/ci/requirements/py37.yml b/ci/requirements/py37.yml index 72b6c76ea37..5a328c64cf9 100644 --- a/ci/requirements/py37.yml +++ b/ci/requirements/py37.yml @@ -15,9 +15,10 @@ dependencies: - flake8 - h5netcdf - h5py + - hdf5 - hypothesis - iris>=1.10 - - lxml + - lxml # optional dep of pydap - matplotlib - mypy==0.720 # Must match .pre-commit-config.yaml - nc-time-axis diff --git a/xarray/tests/test_plot.py b/xarray/tests/test_plot.py index 5ce75ad2396..99a72d68ad8 100644 --- a/xarray/tests/test_plot.py +++ b/xarray/tests/test_plot.py @@ -1962,7 +1962,7 @@ def test_datetime_hue(self, hue_style): ds2.plot.scatter(x="A", y="B", hue="hue", hue_style=hue_style) def test_facetgrid_hue_style(self): - # Can't move this to pytest.mark.parametrize because py35-min + # Can't move this to pytest.mark.parametrize because py35-bare-minimum # doesn't have mpl. for hue_style, map_type in zip( ["discrete", "continuous"], [list, mpl.collections.PathCollection]