mirror of
https://github.com/mudler/luet.git
synced 2025-09-05 01:00:44 +00:00
Use common ImageID() when computing final images
It also adds tests and strip invalid "+" character which is not supported in docker image tags
This commit is contained in:
@@ -107,7 +107,7 @@ func (c *DockerClient) DownloadArtifact(artifact compiler.Artifact) (compiler.Ar
|
|||||||
|
|
||||||
for _, uri := range c.RepoData.Urls {
|
for _, uri := range c.RepoData.Urls {
|
||||||
|
|
||||||
imageName := fmt.Sprintf("%s:%s", uri, artifact.GetCompileSpec().GetPackage().GetFingerPrint())
|
imageName := fmt.Sprintf("%s:%s", uri, artifact.GetCompileSpec().GetPackage().ImageID())
|
||||||
Info("Downloading image", imageName)
|
Info("Downloading image", imageName)
|
||||||
|
|
||||||
// imageName := fmt.Sprintf("%s/%s", uri, artifact.GetCompileSpec().GetPackage().GetPackageImageName())
|
// imageName := fmt.Sprintf("%s/%s", uri, artifact.GetCompileSpec().GetPackage().GetPackageImageName())
|
||||||
|
@@ -333,7 +333,7 @@ func generatePackageImages(b compiler.CompilerBackend, imagePrefix, path string,
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
packageImage := fmt.Sprintf("%s:%s", imagePrefix, artifact.GetCompileSpec().GetPackage().GetFingerPrint())
|
packageImage := fmt.Sprintf("%s:%s", imagePrefix, artifact.GetCompileSpec().GetPackage().ImageID())
|
||||||
|
|
||||||
if imagePush && b.ImageAvailable(packageImage) && !force {
|
if imagePush && b.ImageAvailable(packageImage) && !force {
|
||||||
Info("Image", packageImage, "already present, skipping. use --force-push to override")
|
Info("Image", packageImage, "already present, skipping. use --force-push to override")
|
||||||
|
@@ -46,7 +46,7 @@ type Package interface {
|
|||||||
|
|
||||||
GetFingerPrint() string
|
GetFingerPrint() string
|
||||||
GetPackageName() string
|
GetPackageName() string
|
||||||
GetPackageImageName() string
|
ImageID() string
|
||||||
Requires([]*DefaultPackage) Package
|
Requires([]*DefaultPackage) Package
|
||||||
Conflicts([]*DefaultPackage) Package
|
Conflicts([]*DefaultPackage) Package
|
||||||
Revdeps(PackageDatabase) Packages
|
Revdeps(PackageDatabase) Packages
|
||||||
@@ -289,8 +289,8 @@ func (p *DefaultPackage) GetPackageName() string {
|
|||||||
return fmt.Sprintf("%s-%s", p.Name, p.Category)
|
return fmt.Sprintf("%s-%s", p.Name, p.Category)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *DefaultPackage) GetPackageImageName() string {
|
func (p *DefaultPackage) ImageID() string {
|
||||||
return fmt.Sprintf("%s-%s:%s", p.Name, p.Category, p.Version)
|
return strings.ReplaceAll(p.GetFingerPrint(), "+", "-")
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetBuildTimestamp returns the package build timestamp
|
// GetBuildTimestamp returns the package build timestamp
|
||||||
|
@@ -66,6 +66,17 @@ var _ = Describe("Package", func() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Context("ImageID", func() {
|
||||||
|
It("Returns a correct ImageID escaping unsupported chars", func() {
|
||||||
|
p := NewPackage("A", "1.0+p1", []*DefaultPackage{}, []*DefaultPackage{})
|
||||||
|
Expect(p.ImageID()).To(Equal("A--1.0-p1"))
|
||||||
|
})
|
||||||
|
It("Returns a correct ImageID", func() {
|
||||||
|
p := NewPackage("A", "1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||||
|
Expect(p.ImageID()).To(Equal("A--1.0"))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
Context("Find label on packages", func() {
|
Context("Find label on packages", func() {
|
||||||
a := NewPackage("A", ">=1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
a := NewPackage("A", ">=1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||||
a.AddLabel("project1", "test1")
|
a.AddLabel("project1", "test1")
|
||||||
|
Reference in New Issue
Block a user