build: fix multiple named contexts pointing to same bake target#2444
Merged
tonistiigi merged 1 commit intodocker:masterfrom May 13, 2024
Merged
Conversation
Contexts using target: schema are replaced by input: pointing to previous build result before build request is sent. Currently this replacement did not work if multiple contexts pointed to the same target name. Signed-off-by: Tonis Tiigi <[email protected]>
tonistiigi
commented
May 3, 2024
| for platform, r := range rr.Refs { | ||
| st, err := r.ToState() | ||
|
|
||
| for _, v := range contexts { |
Member
Author
There was a problem hiding this comment.
View the diff with withspace disabled as only the indention changed.
crazy-max
approved these changes
May 9, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Contexts using target: schema are replaced by input: pointing to previous build result before build request is sent. Currently this replacement did not work if multiple contexts pointed to the same target name.
This happened because there is a map pointing back from result to the calling context. Previously one of the contexts (with random order) would be correctly replaced and another would be sent to buildkit as
target:(where it would error is something wants to use it because it can't be resolved).Example case: