diff --git a/pkg/controller/jenkins/plugins/plugin.go b/pkg/controller/jenkins/plugins/plugin.go index ef96fa8a..5becfc07 100644 --- a/pkg/controller/jenkins/plugins/plugin.go +++ b/pkg/controller/jenkins/plugins/plugin.go @@ -23,7 +23,7 @@ func (p Plugin) String() string { var ( namePattern = regexp.MustCompile(`(?i)^[0-9a-z-_]+$`) - versionPattern = regexp.MustCompile(`^[0-9\\.]+$`) + versionPattern = regexp.MustCompile(`^[0-9\\.-]+$`) ) // New creates plugin from string, for example "name-of-plugin:0.0.1" diff --git a/pkg/controller/jenkins/plugins/plugin_test.go b/pkg/controller/jenkins/plugins/plugin_test.go index 2e050a0e..6a017e29 100644 --- a/pkg/controller/jenkins/plugins/plugin_test.go +++ b/pkg/controller/jenkins/plugins/plugin_test.go @@ -108,4 +108,13 @@ func TestVerifyDependencies(t *testing.T) { got := VerifyDependencies(basePlugins, extraPlugins) assert.Equal(t, false, got) }) + t.Run("happy with dash in version", func(t *testing.T) { + basePlugins := map[Plugin][]Plugin{ + Must(New("first-root-plugin:1.0.0-1")): { + Must(New("first-plugin:0.0.1-1")), + }, + } + got := VerifyDependencies(basePlugins) + assert.Equal(t, true, got) + }) }