Add caching to CI environment setup #320
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mirroring GlacioHack/geoutils#321 in GeoUtils, this PR enables the caching of conda environment using the methods of
conda-incubator/setup-miniconda
andgithub/actions/cache
to avoid long running CI times, especially on Mac and Windows.In this PR, the functions
environment_yml_nopy
anddiff_environment_yml
are fixed for a couple issues when passingpip
dependencies, that wen't unnoticed because they weren't needed in GeoUtils. I will open a PR to fix those in GeoUtils as well.In short
CI durations before:
CI durations after:
All OSs take 11-18 min, with less than 1 min for environment setup (when uncaching) on Linux and Mac 馃コ!
On Windows, the uncaching can take longer (up to 7 min) due to the archive extraction issue mentioned in GlacioHack/geoutils#321, that should be solved by GitHub Actions eventually.
Details
See GlacioHack/geoutils#321
Resolves #308