Skip to content

Commit 21e7df3

Browse files
authored
Merge pull request #3 from cobaltcore-dev/helm_like_build_tag
Support underscore in tags as plus replacement
2 parents df7cfb7 + 35a18fc commit 21e7df3

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

cloudprofilesync/source.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"encoding/json"
99
"errors"
10+
"strings"
1011

1112
"golang.org/x/sync/semaphore"
1213
"oras.land/oras-go/v2/registry/remote"
@@ -105,7 +106,7 @@ func (o *OCI) GetVersions(ctx context.Context) ([]SourceImage, error) {
105106
}
106107
out <- Result[SourceImage]{
107108
value: SourceImage{
108-
Version: tag,
109+
Version: strings.ReplaceAll(tag, "_", "+"), // Follow the helm convention
109110
Architectures: []string{arch},
110111
},
111112
}

cloudprofilesync/source_test.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020

2121
var _ = Describe("OCISource", func() {
2222

23-
It("retireves versions from a registry", func(ctx SpecContext) {
23+
It("retrieves versions from a registry", func(ctx SpecContext) {
2424
repo, err := remote.NewRepository(registryAddr + "/repo")
2525
Expect(err).To(Succeed())
2626
repo.PlainHTTP = true
@@ -46,7 +46,12 @@ var _ = Describe("OCISource", func() {
4646

4747
err = repo.Push(ctx, ocispec.DescriptorEmptyJSON, strings.NewReader("{}"))
4848
Expect(err).To(Succeed())
49-
err = repo.PushReference(ctx, indexDesc, bytes.NewReader(indexBlob), "abc")
49+
err = repo.PushReference(ctx, indexDesc, bytes.NewReader(indexBlob), "1.0.0")
50+
Expect(err).To(Succeed())
51+
52+
err = repo.Push(ctx, ocispec.DescriptorEmptyJSON, strings.NewReader("{}"))
53+
Expect(err).To(Succeed())
54+
err = repo.PushReference(ctx, indexDesc, bytes.NewReader(indexBlob), "1.0.1_abc")
5055
Expect(err).To(Succeed())
5156

5257
oci, err := cloudprofilesync.NewOCI(cloudprofilesync.OCIParams{
@@ -57,9 +62,11 @@ var _ = Describe("OCISource", func() {
5762
Expect(err).To(Succeed())
5863
versions, err := oci.GetVersions(ctx)
5964
Expect(err).To(Succeed())
60-
Expect(versions).To(HaveLen(1))
61-
Expect(versions[0].Version).To(Equal("abc"))
62-
Expect(versions[0].Architectures).To(Equal([]string{"amd64"}))
65+
Expect(versions).To(HaveLen(2))
66+
Expect(versions).To(ContainElement(
67+
cloudprofilesync.SourceImage{Version: "1.0.0", Architectures: []string{"amd64"}}))
68+
Expect(versions).To(ContainElement(
69+
cloudprofilesync.SourceImage{Version: "1.0.1+abc", Architectures: []string{"amd64"}}))
6370
})
6471

6572
})

0 commit comments

Comments
 (0)