This happens when GitLab's default GIT_CLEAN_FLAGS includes -ffdx. Override this:
GIT_CLEAN_FLAGS
-ffdx
variables: UV_CACHE_DIR: .uv-cache GIT_STRATEGY: fetch GIT_CLEAN_FLAGS: none
This will preserve untracked files like .uv-cache/ between pipeline runs.
.uv-cache/