setup-micromamba
setup-micromamba copied to clipboard
`setup-micromamba` should fail when restoring an existing conda environment
setup-micromamba
currently does not fail when restoring a cached environment on top of an existing one. Instead, all files from the cache override the existing ones, while all other files from the existing environment persist. This leads to multiple issues; for example, the conda-meta
folder can contain multiple files for the same package with different versions, or imports may break (such as utils.py
from a dependency getting split into utils/__init__.py
while utils.py
persists and takes precedence over utils/
).
While setup-micromamba
could attempt to rectify the situation by pruning the target folder before restoring the cached environment, I believe it should instead produce an error. The better fix is to use either:
-
Runner hooks to automatically clean the shared micromamba root prefix folder after every job using a
job-completed
shell hook (removing the burden from users), or - Set
post-cleanup
toenvironment
to instructsetup-micromamba
to do this automatically.
Ideally, setup-micromamba
would detect that it is running inside a long-living self-hosted
runner, but I could not find any provided environment variables or similar indicators that would facilitate this elegantly.