Conda env rebuilds without updating env lock
- Dominant language
- Python
- Stars
- 60
- Forks
- 18
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 38
Description
It used to be the case that my conda env would save its env lock and not rebuild each time that CI is run.
Starting around 1-2 weeks ago (I haven't dug into the exact point where the behavior changed to know whether it corresponds to a change in my pipeline or an update in calkit), the conda env often (but still not always) rebuilds when the pipeline runs in CI, even when it hasn't changed.
After it rebuilds, it strangely does not modify the env lock (or if it does, it doesn't get committed when my github action saves the `.calkit` folder), which explains why it then rebuilds again the next time the CI is run.
[Example log where it doesn't rebuild.](https://github.com/symbiotic-engineering/MDOcean/actions/runs/24698426070/job/72236302982)
[Example log where it does rebuild.](https://github.com/symbiotic-engineering/MDOcean/actions/runs/24700706379/job/72243117165#step:14:101)
[Corresponding run commit that does not contain an env lock change.](https://github.com/symbiotic-engineering/MDOcean/commit/d561065a523f619b26e898f710145c0829b02591)
The packages that it installs when rebuilding are `numpy-2.4.4 pymupdf-1.27.2.2 pyxdsm-2.3.1`. I only added `pymupdf` to the environment 1-2 weeks ago, so it's plausible that this caused the change in behavior, but I'm not sure why it would.
Perhaps related to #826.
Contributor guide
Research direction
Start by comparing the linked CI runs, especially the rebuild step and the commit d561065a, then read the related discussion in #826. Trace why the environment rebuilds without a corresponding .calkit env lock change; done means unchanged environments reuse their lock and the CI commit preserves any required lock update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100