Allow using auto_tag while supplying additional tags via tags (#35)
This implements #32, allowing to append tags supplied via `tags` along side auto generated tags. Tags supplied via `tags` are *not* suffixed by the `auto_tag_suffix` Co-authored-by: Gapodo <gapodo@datenclown.at> Reviewed-on: https://codeberg.org/woodpecker-plugins/plugin-docker-buildx/pulls/35 Reviewed-by: 6543 <6543@obermui.de> Co-authored-by: gapodo <gapodo@geekvoid.net> Co-committed-by: gapodo <gapodo@geekvoid.net>
This commit is contained in:
@@ -86,7 +86,7 @@ func (l Login) anonymous() bool {
|
||||
func (p *Plugin) InitSettings() error {
|
||||
if p.settings.LoginsRaw != "" {
|
||||
if err := json.Unmarshal([]byte(p.settings.LoginsRaw), &p.settings.Logins); err != nil {
|
||||
return fmt.Errorf("Could not unmarshal logins: %v", err)
|
||||
return fmt.Errorf("could not unmarshal logins: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,21 +131,17 @@ func (p *Plugin) Validate() error {
|
||||
logrus.Printf("cannot build docker image for %s, invalid semantic version", p.settings.Build.Ref)
|
||||
return err
|
||||
}
|
||||
|
||||
// include user supplied tags
|
||||
tag = append(tag, p.sanitizedUserTags()...)
|
||||
|
||||
p.settings.Build.Tags = *cli.NewStringSlice(tag...)
|
||||
} else {
|
||||
logrus.Printf("skipping automated docker build for %s", p.settings.Build.Ref)
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
// ignore empty tags
|
||||
var tags []string
|
||||
for _, t := range p.settings.Build.Tags.Value() {
|
||||
t = strings.TrimSpace(t)
|
||||
if t != "" {
|
||||
tags = append(tags, t)
|
||||
}
|
||||
}
|
||||
p.settings.Build.Tags = *cli.NewStringSlice(tags...)
|
||||
p.settings.Build.Tags = *cli.NewStringSlice(p.sanitizedUserTags()...)
|
||||
}
|
||||
|
||||
if p.settings.Build.LabelsAuto {
|
||||
@@ -155,6 +151,18 @@ func (p *Plugin) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Plugin) sanitizedUserTags() []string {
|
||||
// ignore empty tags
|
||||
var tags []string
|
||||
for _, t := range p.settings.Build.Tags.Value() {
|
||||
t = strings.TrimSpace(t)
|
||||
if t != "" {
|
||||
tags = append(tags, t)
|
||||
}
|
||||
}
|
||||
return tags
|
||||
}
|
||||
|
||||
func (p *Plugin) writeBuildkitConfig() error {
|
||||
// no buildkit config, automatically generate buildkit configuration to use a custom CA certificate for each registry
|
||||
if p.settings.Daemon.BuildkitConfig == "" && p.settings.Daemon.Registry != "" {
|
||||
|
||||
Reference in New Issue
Block a user