fix: intermediate images should not be labelled #3413
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Labelling intermediate images can cause unecessary cache misses.
Description
Let's assume a label like so:
This will cause the intermediate image to be labelled with the sha. The digest of the intermediate image is used in computing the cache key for other images in the same multi-stage build. If now we run the same builds on another commit, the intermediate image emitted with new labels, which is not a problem per-se, but cache is now entirely invalid and can't be reused. As we don't intend on storing intermediate images anyways, there is no point in attaching labels to them.
With this change we skip labelling intermediate images, avoiding unecessary cache misses in certain multi-stage scenarios.
As a workaround we can also avoid labelling the image.
Reviewer Notes
Release Notes