This commit is contained in:
Lunny Xiao 2022-10-27 17:29:53 +08:00
parent e7a748c7e1
commit 44447ff526
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
1 changed files with 21 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import (
"runtime"
git "github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
"github.com/joho/godotenv"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
@ -338,7 +339,7 @@ func run(c *cli.Context) error {
r, err := git.PlainOpen(plugin.Build.Repo)
if err != nil {
logrus.Printf("cannot build docker image for %s, open gire repo %s failed: %v", c.String("commit.ref"), plugin.Build.Repo, err)
logrus.Printf("cannot build docker image for %s, open git repo %s failed: %v", c.String("commit.ref"), plugin.Build.Repo, err)
return err
}
@ -346,10 +347,28 @@ func run(c *cli.Context) error {
c.String("commit.ref"),
c.String("repo.branch"),
) {
gitTags, err := r.Tags()
if err != nil {
logrus.Printf("cannot get tags %s, %v", c.String("commit.ref"), err)
return err
}
var tagNames []string
if err := gitTags.ForEach(func(ref *plumbing.Reference) error {
obj, err := r.TagObject(ref.Hash())
if err != nil {
return err
}
tagNames = append(tagNames, obj.Name)
return nil
}); err != nil {
logrus.Printf("cannot iter tags %s, %v", c.String("commit.ref"), err)
return err
}
tags, err := docker.DefaultTagSuffix(
c.String("commit.ref"),
c.String("tags.suffix"),
r.Tags(),
tagNames,
)
if err != nil {
logrus.Printf("cannot build docker image for %s, invalid semantic version", c.String("commit.ref"))