jpribyl / action-docker-layer-caching

🐳 Enable Docker layer caching in GitHub Actions
https://github.com/marketplace/actions/docker-layer-caching
MIT License
59 stars 10 forks source link

Check existence of the layer in cache before pushing in "post-" step. #52

Open gmanny opened 1 year ago

gmanny commented 1 year ago

Is your feature request related to a problem? Please describe. After the build has gone through the action pushes all the layers from the local action's docker to the cache. Most of those layers normally already exist in the cache, but it seems that GitHub cache only answers with an error about the layer already existing after the whole layer was pushed to the server, so this ends up taking a significant amount of time to the point of making the build overall slower than without caching.

Describe the solution you'd like Before pushing each layer to the GitHub Actions cache, check whether it already exists, and if it does, don't push the layer to cache. Alternatively, the action can remember which layers it restored from the cache when initially run, and delete those layers from local docker before pushing other layers to cache.

Describe alternatives you've considered Don't see many alternatives other than removing caching entirely 🙁