mirror of
https://github.com/moby/buildkit.git
synced 2026-08-05 23:30:22 +00:00
Previously, a frontend returning two identical references caused a double-release error, as the gateway expects each ref to be unique. However, there are scenarios where a frontend might reasonably be expected to provide identical refs, e.g. for 2 platforms that have binary compatibility, or for the upcoming attestations use-case. To solve this issue, we refactor the ResultProxy implementation to support cloning via splits. Additionally, we then use the new splitting functionality in the gateway and forwarder (e.g. dockerfile) frontends, and ensure that the same ResultProxy is never returned twice in a result. This means that identical refs over the wire are translated into the correct shared-memory structures. Signed-off-by: Justin Chadwell <me@jedevc.com>
2.7 KiB
2.7 KiB