mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 00:47:48 +08:00
Merge pull request #3024 from tonistiigi/imagetools-push-tag-fix
imagetools: avoid multiple tag pushes on create
This commit is contained in:
commit
548c80ab5a
@ -194,8 +194,11 @@ func (r *Resolver) Combine(ctx context.Context, srcs []*Source, ann map[exptypes
|
|||||||
func (r *Resolver) Push(ctx context.Context, ref reference.Named, desc ocispec.Descriptor, dt []byte) error {
|
func (r *Resolver) Push(ctx context.Context, ref reference.Named, desc ocispec.Descriptor, dt []byte) error {
|
||||||
ctx = remotes.WithMediaTypeKeyPrefix(ctx, "application/vnd.in-toto+json", "intoto")
|
ctx = remotes.WithMediaTypeKeyPrefix(ctx, "application/vnd.in-toto+json", "intoto")
|
||||||
|
|
||||||
ref = reference.TagNameOnly(ref)
|
fullRef, err := reference.WithDigest(reference.TagNameOnly(ref), desc.Digest)
|
||||||
p, err := r.resolver().Pusher(ctx, ref.String())
|
if err != nil {
|
||||||
|
return errors.Wrapf(err, "failed to combine ref %s with digest %s", ref, desc.Digest)
|
||||||
|
}
|
||||||
|
p, err := r.resolver().Pusher(ctx, fullRef.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -217,8 +220,8 @@ func (r *Resolver) Push(ctx context.Context, ref reference.Named, desc ocispec.D
|
|||||||
func (r *Resolver) Copy(ctx context.Context, src *Source, dest reference.Named) error {
|
func (r *Resolver) Copy(ctx context.Context, src *Source, dest reference.Named) error {
|
||||||
ctx = remotes.WithMediaTypeKeyPrefix(ctx, "application/vnd.in-toto+json", "intoto")
|
ctx = remotes.WithMediaTypeKeyPrefix(ctx, "application/vnd.in-toto+json", "intoto")
|
||||||
|
|
||||||
dest = reference.TagNameOnly(dest)
|
// push by digest
|
||||||
p, err := r.resolver().Pusher(ctx, dest.String())
|
p, err := r.resolver().Pusher(ctx, dest.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user