I encountered a subtle issue while using rattler-build: I have two recipes within a project, let's call them A and B, where B depends on A. The scenario unfolds in two steps:
-
I build recipe A locally (resulting in the artifact output/linux-64/A-he0.conda) and then build recipe B. During the build, rattler-build correctly resolves the dependency on A-he0.conda from the local output channel and sets up the build environment. Everything works as expected.
-
I make significant changes to recipe A and rebuild it (still producing A-he0.conda at the same path). When I rebuild recipe B, rattler-build should use the latest A-he0.conda artifact to create the build environment; instead, it uses the stale version cached in .cache/rattler. This is not the behavior I want.
Currently, I am forced to increment the build number every time I modify and rebuild recipe A just to invalidate the cache. This is tedious and results in a clutter of local artifacts stored in .cache/rattler that I do not want cached. I would like rattler-build to always check if locally built artifacts in the output channel have changed, invalidating the old cache if necessary, or even to allow disabling caching for local artifacts entirely.
I encountered a subtle issue while using
rattler-build: I have two recipes within a project, let's call them A and B, where B depends on A. The scenario unfolds in two steps:I build recipe A locally (resulting in the artifact
output/linux-64/A-he0.conda) and then build recipe B. During the build,rattler-buildcorrectly resolves the dependency onA-he0.condafrom the localoutputchannel and sets up the build environment. Everything works as expected.I make significant changes to recipe A and rebuild it (still producing
A-he0.condaat the same path). When I rebuild recipe B,rattler-buildshould use the latestA-he0.condaartifact to create the build environment; instead, it uses the stale version cached in.cache/rattler. This is not the behavior I want.Currently, I am forced to increment the build number every time I modify and rebuild recipe A just to invalidate the cache. This is tedious and results in a clutter of local artifacts stored in
.cache/rattlerthat I do not want cached. I would likerattler-buildto always check if locally built artifacts in theoutputchannel have changed, invalidating the old cache if necessary, or even to allow disabling caching for local artifacts entirely.