Hi, I'm not sure if this is a feature or a bug, but when we use the same cache key for different PRs (sequentially without a race condition), the second PR doesn't find the cache even though the keys are the same and the first PR completes the workflow successfully (including cache upload).
I looked through the actions/cache code and I think it may be related to the scope attribute of the ArtifactCacheEntry object. I weren't able to hack around the code to ignore this attribute, so I'm not 100% sure. The attribute does contain values that would point to the caches being scoped to different PRs, though (refs/pull/1660/merge and refs/pull/1661/merge on the two test pull requests I tried).
This is the setup we use:
- uses: actions/cache@v1
id: cache
with:
path: .github/vendor/bundle
key: github-gems-${{ hashFiles('**/.github/Gemfile.lock') }}
restore-keys: |
github-gems-
The bundle is installing gems to the correct folder, since the cache is successfully fetched starting from the second commit on each pull request.
Let me know if I can provide more info. Thanks!
Hi, I'm not sure if this is a feature or a bug, but when we use the same cache key for different PRs (sequentially without a race condition), the second PR doesn't find the cache even though the keys are the same and the first PR completes the workflow successfully (including cache upload).
I looked through the
actions/cachecode and I think it may be related to thescopeattribute of theArtifactCacheEntryobject. I weren't able to hack around the code to ignore this attribute, so I'm not 100% sure. The attribute does contain values that would point to the caches beingscopedto different PRs, though (refs/pull/1660/mergeandrefs/pull/1661/mergeon the two test pull requests I tried).This is the setup we use:
The bundle is installing gems to the correct folder, since the cache is successfully fetched starting from the second commit on each pull request.
Let me know if I can provide more info. Thanks!