Skip to content
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

Merged
merged 3 commits into from
Jun 20, 2023
Merged

Conversation

tomvothecoder
Copy link
Collaborator

@tomvothecoder tomvothecoder commented Jun 20, 2023

This 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:

  • 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

- 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`
@tomvothecoder tomvothecoder marked this pull request as ready for review June 20, 2023 22:11
@xylar
Copy link
Contributor

xylar commented Jun 20, 2023

Looks good to me.

Copy link
Collaborator Author

@tomvothecoder tomvothecoder left a 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
Copy link
Collaborator Author

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).

Comment on lines +25 to +26
- numpy >=1.23.0
- xarray >=2023.02.0
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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.

Comment on lines +9 to +34
- 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
Copy link
Collaborator Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DevOps CI/CD, configuration, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refine of 4 yaml files in conda-env
2 participants