Skip to content

Commit c33215d

Browse files
benoittgtTerryHowe
authored andcommitted
Prevent fetching newReference again as we have in calling method
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
1 parent f552b67 commit c33215d

2 files changed

Lines changed: 8 additions & 10 deletions

File tree

‎pkg/registry/client.go‎

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -712,8 +712,8 @@ func (c *Client) Push(data []byte, ref string, options ...PushOption) (*PushResu
712712

713713
ociAnnotations := generateOCIAnnotations(meta, operation.creationTime)
714714

715-
manifestDescriptor, err := c.tagManifest(ctx, memoryStore, ref, configDescriptor,
716-
layers, ociAnnotations)
715+
manifestDescriptor, err := c.tagManifest(ctx, memoryStore, configDescriptor,
716+
layers, ociAnnotations, parsedRef)
717717
if err != nil {
718718
return nil, err
719719
}
@@ -917,8 +917,8 @@ func (c *Client) ValidateReference(ref, version string, u *url.URL) (*url.URL, e
917917

918918
// tagManifest prepares and tags a manifest in memory storage
919919
func (c *Client) tagManifest(ctx context.Context, memoryStore *memory.Store,
920-
ref string, configDescriptor ocispec.Descriptor, layers []ocispec.Descriptor,
921-
ociAnnotations map[string]string) (ocispec.Descriptor, error) {
920+
configDescriptor ocispec.Descriptor, layers []ocispec.Descriptor,
921+
ociAnnotations map[string]string, parsedRef reference) (ocispec.Descriptor, error) {
922922

923923
manifest := ocispec.Manifest{
924924
Versioned: specs.Versioned{SchemaVersion: 2},
@@ -932,11 +932,6 @@ func (c *Client) tagManifest(ctx context.Context, memoryStore *memory.Store,
932932
return ocispec.Descriptor{}, err
933933
}
934934

935-
parsedRef, err := newReference(ref)
936-
if err != nil {
937-
return ocispec.Descriptor{}, err
938-
}
939-
940935
return oras.TagBytes(ctx, memoryStore, ocispec.MediaTypeImageManifest,
941936
manifestData, parsedRef.String())
942937
}

‎pkg/registry/client_test.go‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ func TestTagManifestTransformsReferences(t *testing.T) {
6969
configDesc := ocispec.Descriptor{MediaType: ConfigMediaType, Digest: "sha256:config", Size: 100}
7070
layers := []ocispec.Descriptor{{MediaType: ChartLayerMediaType, Digest: "sha256:layer", Size: 200}}
7171

72-
desc, err := client.tagManifest(ctx, memStore, refWithPlus, configDesc, layers, nil)
72+
parsedRef, err := newReference(refWithPlus)
73+
require.NoError(t, err)
74+
75+
desc, err := client.tagManifest(ctx, memStore, configDesc, layers, nil, parsedRef)
7376
require.NoError(t, err)
7477

7578
transformedDesc, err := memStore.Resolve(ctx, expectedRef)

0 commit comments

Comments
 (0)