jetify-com / devbox-install-action

31 stars 15 forks source link

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

Open adjsky opened 8 months ago

adjsky commented 8 months ago

The install action reads and writes the nix store to different keys for some reason.

Example repository: https://github.com/adjsky/devbox-action-cache

https://github.com/adjsky/devbox-action-cache/actions/runs/7302430758/job/19901021653#step:3:346 https://github.com/adjsky/devbox-action-cache/actions/runs/7302430758/job/19901021653#step:3:694

When reading the key is Linux-devbox-nix-store-3a2654425ec8f477c946ced19122871a8ba12acf7aa422229029e8399cfb464e, but when saving the key is Linux-devbox-nix-store-496d8beac83195b1e6331c2845b230b457389e8192ef75d1f89b84e8dcc45753.

Since this job has been run before and successfully saved the cache, subsequent jobs display a warning.

LucilleH commented 8 months ago

@adjsky ah it is probably because the devbox.lock file changed during installation in Linux. Maybe we can print a more useful warning 👍

adjsky commented 8 months ago

@LucilleH yeah, i synchronized devbox.lock with devbox.json and now everything works great.

Showing a warning would be nice, but it seems to me that if devbox.lock and devbox.json are not synchronized, the action should fail, like PNPM does when installing dependencies (https://pnpm.io/cli/install#--frozen-lockfile), this behavior seems more logical and correct.