Hi!
I'm working in a team with different people who work in a single workspace.
I have setup a build pipeline in Azure Devops for the workspace.
I've configured caching on /target and ~/.cargo directories.
And this seems to work really nicely except for one single file in the workspace.
It's a lib file which contains a custom macro. So that might be a clue.
But not sure how caching the whole /target would not work on this as well..
Dirty derive_macros v0.1.0 (/home/vsts/work/1/s/common_libraries/ccl/src/foo/bar_macros): the file `common_libraries/ccl/src/foo/bar_macros/src/lib.rs` has changed (1722260363.364154891s, 54m 21s after last build at 1722257102.000000000s)
I even did a desperate check on the file before and after build to see if that changes somehow(which would have messed up the initial cache?)
Before:
Size: 6130 Blocks: 16 IO Block: 4096 regular file
2024-07-29T13:39:45.6921900Z Device: 811h/2065d Inode: 526054 Links: 1
2024-07-29T13:39:45.6923089Z Access: (0644/-rw-r--r--) Uid: ( 1001/ vsts) Gid: ( 127/ docker)
2024-07-29T13:39:45.6924200Z Access: 2024-07-29 13:39:23.364154891 +0000
2024-07-29T13:39:45.6924750Z Modify: 2024-07-29 13:39:23.364154891 +0000
2024-07-29T13:39:45.6925772Z Change: 2024-07-29 13:39:23.364154891 +0000
2024-07-29T13:39:45.6926296Z Birth: 2024-07-29 13:39:23.364154891 +0000
After
Size: 6130 Blocks: 16 IO Block: 4096 regular file
Device: 811h/2065d Inode: 526054 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1001/ vsts) Gid: ( 127/ docker)
Access: 2024-07-29 13:39:45.692073360 +0000
Modify: 2024-07-29 13:39:23.364154891 +0000
Change: 2024-07-29 13:39:23.364154891 +0000
Birth: 2024-07-29 13:39:23.364154891 +0000
2d20d00081f8e7209c0ca9a06121bb9a4a915b2a15ca7bd9832de30a19243fc7
The nesting of this lib also seems a bit weird.
Are there any factors that are taking into account by cargo to mark a file as dirty? Or am i missing something completely else?