-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify the conda env yml files #696
Conversation
- Update `ci.yml` with minimum constraint for `numpy` and `xarray` - Add doc dependencies for `ci.yml` - Update `dev.yml` base section to match `ci.yml` - Remove `prod.yml` and update docs with commands to get latest stable release of e3sm_diags - Remove `docs.yml` and use `ci.yml` in GH Action builds - Remove `prod.yml` section from `tbump.toml`
Looks good to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My review comments
- sphinx | ||
- sphinx_rtd_theme | ||
- sphinx-multiversion | ||
# Developer Tools |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The QA tools such as black
and flake8
should still be pinned to exact versions because newer versions usually flag new warnings or errors. We should manually update these ourselves and fix the subsequent issues (if they are produced with newer versions).
- numpy >=1.23.0 | ||
- xarray >=2023.02.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I constrained numpy >=1.23.0
because that one supports Python 3.11 (future-proofing).
I constrained xarray >=2023.02.0
because that one drops Python 3.8 support.
# ================== | ||
- python>=3.8 | ||
# ================= | ||
- python >=3.9 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bumped minimum Python version to 3.9.
- python >=3.9 | ||
- pip | ||
- beautifulsoup4 | ||
- cartopy >=0.17.0 | ||
- cartopy_offlinedata | ||
- cdp 1.7.0 | ||
- cdms2 3.1.5 | ||
- cdutil 8.2.1 | ||
- dask | ||
- genutil 8.2.1 | ||
- lxml | ||
- mache >=0.15.0 | ||
- matplotlib-base | ||
- netcdf4 | ||
- numpy >=1.23.0 | ||
- xarray >=2023.02.0 | ||
# Testing | ||
# ================== | ||
- scipy | ||
- pytest | ||
- pytest-cov | ||
# Documentation | ||
# ================= | ||
- sphinx | ||
- sphinx_rtd_theme | ||
- sphinx-multiversion |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section replicates ci.yml
conda-env
#695This PR simplifies the conda env yml files by merging yml files together and loosening up constraints.
By no longer pinning exact dependencies, the conda environments will use the latest compatible dependencies. This ensures a higher chance of compatibility within E3SM Unified because we will be testing on similar dependency versions.
The trade-off is we lose stability and deterministic environments between developers, which might make it a bit more difficult to reproduce bugs or behaviors. There are only a few developers in this repo so it's not that big of a deal to communicate environment setups and dependency versions.
Summary of Changes:
ci.yml
with minimum constraint fornumpy
andxarray
ci.yml
dev.yml
base section to matchci.yml
prod.yml
and update docs with commands to get latest stable release of e3sm_diagsdocs.yml
and useci.yml
in GH Action buildsprod.yml
section fromtbump.toml