Closed ebolyen closed 11 months ago
We may also want to consider what happens when two different actions are running at the same time with a valid recycle pool. One will win the race to delete, and the other will be sad.
Good point, wondering what the most sane approach to take here is. We can probably use the lock to create some kind of counter tracking how many actions are using the pool. Like a semaphore where the exiting process only removes the recycle pool if, after it decrements the "semaphore" for itself the value is 0.
We could and probably should also lock the entire index checking process. That may actually solve this simpler
Yeah because then if we find stuff in the recycle pool we will copy it into the process pool then we can use the versions of the artifacts backed by the process pool.
@ebolyen I'm pretty sure we closed this but actually closing it fell through because it was a bit sporadic
Bug Description It appears that when an output is set via
some-cache:key
thecache
variable shadows therecycle
cache, independent of--use-cache
Fortunately, this cleanup happens after saving the outputs, so other than the exit code being nonzero, so it's not a huge deal.