Merge pull request #2597 from ijc/linuxkit-pkg-hash

linuxkit pkg: correct behaviour when user explictly specifies a hash.
This commit is contained in:
Justin Cormack 2017-10-12 12:19:46 +01:00 committed by GitHub
commit 098110e3c8
3 changed files with 18 additions and 11 deletions

View File

@ -117,6 +117,10 @@ func (p Pkg) Build(bos ...BuildOpt) error {
}
if !bo.push {
if err := d.tag(p.Tag()+suffix, p.Tag()); err != nil {
return err
}
fmt.Printf("Build complete, not pushing, all done.\n")
return nil
}

View File

@ -71,6 +71,7 @@ func (dr dockerRunner) push(img string) error {
}
func (dr dockerRunner) pushWithManifest(img, suffix string) error {
fmt.Printf("Pushing %s\n", img+suffix)
if err := dr.push(img + suffix); err != nil {
return err
}
@ -80,6 +81,7 @@ func (dr dockerRunner) pushWithManifest(img, suffix string) error {
dctArg = "1"
}
fmt.Printf("Pushing %s to manifest %s\n", img+suffix, img)
cmd := exec.Command("/bin/sh", "-c", manifestPushScript, "manifest-push-script", img, dctArg)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
@ -90,6 +92,7 @@ func (dr dockerRunner) pushWithManifest(img, suffix string) error {
}
func (dr dockerRunner) tag(ref, tag string) error {
fmt.Printf("Tagging %s as %s\n", ref, tag)
return dr.command("tag", ref, tag)
}

View File

@ -138,12 +138,6 @@ func NewFromCLI(fs *flag.FlagSet, args ...string) (Pkg, error) {
}
})
if hash == "" {
if hash, err = gitTreeHash(hashPath, hashCommit); err != nil {
return Pkg{}, err
}
}
gitDirty, err := gitIsDirty(hashPath, hashCommit)
if err != nil {
return Pkg{}, err
@ -151,6 +145,16 @@ func NewFromCLI(fs *flag.FlagSet, args ...string) (Pkg, error) {
dirty = dirty || gitDirty
if hash == "" {
if hash, err = gitTreeHash(hashPath, hashCommit); err != nil {
return Pkg{}, err
}
if dirty {
hash += "-dirty"
}
}
return Pkg{
image: pi.Image,
org: pi.Org,
@ -185,11 +189,7 @@ func (p Pkg) ReleaseTag(release string) (string, error) {
// Tag returns the tag to use for the package
func (p Pkg) Tag() string {
tag := p.org + "/" + p.image + ":" + p.hash
if p.dirty {
tag += "-dirty"
}
return tag
return p.org + "/" + p.image + ":" + p.hash
}
func (p Pkg) archSupported(want string) bool {