Skip to content

@actions/cache not restoring cache, version mismatch? #1377

@MSP-Greg

Description

@MSP-Greg

Describe the bug

We use @actions/cache in a popular setup action. Recently updated the lock file which previously used 3.0.6 without issue. Caches appear to be saved, but they are not restored with restoreCache.

In the first job run, often the cache was saved. If the next run did not restore it, the run also had the common error:

'Failed to save: Unable to reserve cache with key , another job may be creating this cache. More details: Cache already exists.'

But, inspecting all the keys, the key of the saved cache from the previous job run is the same as the key it cannot find in the 2nd job run. See https://github.com/MSP-Greg/puma/actions/runs/4452716291/jobs/7820684254#step:3:121

As to versions, first, we updated to current (3.1.2). That did not work with code that worked with 3.0.6. Investigated further:

                     1st Job Run               2nd Job Run
@actions/cache  Ubuntu  macOS  Windows    Ubuntu  macOS  Windows
      3.0.6       ✅     ✅      ✅        ✅     ✅      ✅
      3.1.0       ✅     ✅      ❌        ✅     ✅      ✅
      3.1.1       ❌     ❌      ❌        ✅     ✅      ✅
      3.1.2       ❌     ❌      ❌        ❌     ❌      ❌
      3.1.4       ❌     ❌      ❌        ❌     ❌      ❌

As noted above, version 3.1.2 and later never restores a cache. 3.1.1 did not restore a cache on the first, run but did on the second run.

To Reproduce
Steps to reproduce the behavior:
See https://github.com/MSP-Greg/puma/actions/workflows/actions-cache.yaml. Each run in Puma was done with a corresponding branch in https://github.com/MSP-Greg/setup-ruby that was built with the given @actions/cache version.

Expected behavior
Versions after 3.0.6 restore caches.

Screenshots
NA

Desktop (please complete the following information):
NA

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions