Why is this needed?
We have encountered a problem with unnecessary manifest caching on CI.
Because each build on CI has a new directory/workspace and environment variables → the necessary manifest cache is always missing in ~/.cache/tuist
directory → manifests are always compiled → the cache is stored in ~/.cache/tuist
and gradually grows.
I know that the cache directory can be overridden using the environment variable XDG_CACHE_HOME
, but we do not want to disable the entire cache. We still need to share the dependency cache.
The tuist clean manifests
command is unsafe in a multi-process scenario.
There may be several builds on a single CI node in parallel, which can lead to unexpected behavior if the cache is deleted during project generation. We have encountered such a problem in practice when use this approach.
Proposal
A new flag --no-manifests-cache
could be added, which would not cache Manifests
and ProjectDescriptionHelpers
when generating a project:
tuist generate --no-manifests-cache