Broken symlinks are cached (as symlinks) regardless of where they point to: file outside the cache_folder, file within cache_folder or nonexistent file.
"Upload cache" reports failure and does not store cache (next build reports "Cache miss").
Failed to calculate hash of /var/folders/sy/2x5qvs0n4lg18fry9jz4y21m0000gn/T/cirrus-ci-build/SDK! open /var/folders/sy/2x5qvs0n4lg18fry9jz4y21m0000gn/T/cirrus-ci-build/SDK/symlink: no such file or directorySkipping uploading of /var/folders/sy/2x5qvs0n4lg18fry9jz4y21m0000gn/T/cirrus-ci-build/SDK!
https://cirrus-ci.com/task/5684879681912832
Can reproduce
@fkorotkov we had a private conversation about this earlier this year
Real world case:
This Flutter directory is full of non-existent symlinks until iOS tests for the Flutter framework itself run (which doesn't happen on derived project build / test run).
A portable workaround is to run:
$ find /directory/with/flutter -type l -exec test ! -e {} \; -print -delete
Thank you for the example! I was able to reproduce it in a test and fixed it. Your example should be working now. Could you please try once again on your project now?
Great! It works perfectly now, the cache is being uploaded without error messages, and then downloads for the next build. Thank you!