diff options
Diffstat (limited to 'internal/cli')
| -rw-r--r-- | internal/cli/release.go | 13 | ||||
| -rw-r--r-- | internal/cli/release_test.go | 2 |
2 files changed, 3 insertions, 12 deletions
diff --git a/internal/cli/release.go b/internal/cli/release.go index da3f2e9..b5300c6 100644 --- a/internal/cli/release.go +++ b/internal/cli/release.go @@ -5,22 +5,13 @@ import ( "fmt" "os" "path/filepath" - "regexp" "strings" "codeberg.org/snonux/gitsyncer/internal/config" "codeberg.org/snonux/gitsyncer/internal/release" + "codeberg.org/snonux/gitsyncer/internal/version" ) -// isVersionTag checks if a tag name is a version tag -// Supports formats: vX.Y.Z, vX.Y, vX, X.Y.Z, X.Y, X -func isVersionTag(tag string) bool { - // Pattern matches version tags with optional 'v' prefix - pattern := `^v?\d+(\.\d+)?(\.\d+)?$` - matched, _ := regexp.MatchString(pattern, tag) - return matched -} - // HandleCheckReleases checks for version tags without releases and creates them with confirmation func HandleCheckReleases(cfg *config.Config, flags *Flags) int { // Get all repositories from work directory @@ -392,7 +383,7 @@ func processUpdateReleasesForTarget( fmt.Printf("\n Updating existing %s releases...\n", target.name) for _, tag := range existingReleases { - if !isVersionTag(tag) { + if !version.IsVersionTag(tag) { continue } diff --git a/internal/cli/release_test.go b/internal/cli/release_test.go index 5712530..12876ae 100644 --- a/internal/cli/release_test.go +++ b/internal/cli/release_test.go @@ -363,7 +363,7 @@ func TestProcessUpdateReleasesForTarget_UsesCachedAIAndSkipsNonVersionTags(t *te name: "GitHub", owner: "owner", getReleases: func(_ string, _ string) ([]string, error) { - return []string{"latest", "v1.0.0"}, nil + return []string{"latest", "1-beta", "v1.0.0"}, nil }, updateRelease: func(_ string, _ string, tag string, notes string) error { if notes != "cached ai notes" { |
