fix: fix auto_tag behavior to avoid unexpected publishing (#33)

This commit is contained in:
Robert Kaussow 2022-01-12 09:09:57 +01:00 committed by GitHub
parent 9024ebd41c
commit 49bd65b7f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 10 deletions

View File

@ -111,7 +111,6 @@ func settingsFlags(settings *plugin.Settings) []cli.Flag {
Name: "tags", Name: "tags",
EnvVars: []string{"PLUGIN_TAG", "PLUGIN_TAGS"}, EnvVars: []string{"PLUGIN_TAG", "PLUGIN_TAGS"},
Usage: "sets repository tags to use for the image", Usage: "sets repository tags to use for the image",
Value: cli.NewStringSlice([]string{"latest"}...),
FilePath: ".tags", FilePath: ".tags",
Destination: &settings.Build.Tags, Destination: &settings.Build.Tags,
}, },

View File

@ -92,12 +92,12 @@ func (p *Plugin) Validate() error {
p.settings.Build.TagsSuffix, p.settings.Build.TagsSuffix,
) )
if err != nil { if err != nil {
logrus.Printf("cannot build docker image for %s, invalid semantic version", p.settings.Build.Ref) logrus.Printf("cannot generate tags from %s, invalid semantic version", p.settings.Build.Ref)
return err return err
} }
p.settings.Build.Tags = *cli.NewStringSlice(tag...) p.settings.Build.Tags = *cli.NewStringSlice(tag...)
} else { } else {
logrus.Printf("skipping automated docker build for %s", p.settings.Build.Ref) logrus.Printf("skip auto-tagging for %s, not on default branch or tag", p.settings.Build.Ref)
return nil return nil
} }
} }

View File

@ -29,7 +29,7 @@ func TestDefaultTags(t *testing.T) {
After []string After []string
}{ }{
{"", []string{"latest"}}, {"", []string{"latest"}},
{"refs/heads/master", []string{"latest"}}, {"refs/heads/main", []string{"latest"}},
{"refs/tags/0.9.0", []string{"0.9", "0.9.0"}}, {"refs/tags/0.9.0", []string{"0.9", "0.9.0"}},
{"refs/tags/1.0.0", []string{"1", "1.0", "1.0.0"}}, {"refs/tags/1.0.0", []string{"1", "1.0", "1.0.0"}},
{"refs/tags/v1.0.0", []string{"1", "1.0", "1.0.0"}}, {"refs/tags/v1.0.0", []string{"1", "1.0", "1.0.0"}},
@ -142,9 +142,9 @@ func Test_stripHeadPrefix(t *testing.T) {
}{ }{
{ {
args: args{ args: args{
ref: "refs/heads/master", ref: "refs/heads/main",
}, },
want: "master", want: "main",
}, },
} }
for _, tt := range tests { for _, tt := range tests {
@ -167,8 +167,8 @@ func TestUseDefaultTag(t *testing.T) {
{ {
name: "latest tag for default branch", name: "latest tag for default branch",
args: args{ args: args{
ref: "refs/heads/master", ref: "refs/heads/main",
defaultBranch: "master", defaultBranch: "main",
}, },
want: true, want: true,
}, },
@ -176,7 +176,7 @@ func TestUseDefaultTag(t *testing.T) {
name: "build from tags", name: "build from tags",
args: args{ args: args{
ref: "refs/tags/v1.0.0", ref: "refs/tags/v1.0.0",
defaultBranch: "master", defaultBranch: "main",
}, },
want: true, want: true,
}, },
@ -184,7 +184,7 @@ func TestUseDefaultTag(t *testing.T) {
name: "skip build for not default branch", name: "skip build for not default branch",
args: args{ args: args{
ref: "refs/heads/develop", ref: "refs/heads/develop",
defaultBranch: "master", defaultBranch: "main",
}, },
want: false, want: false,
}, },