Skip to content

Commit c0b1dda

Browse files
committed
No more magic numbers
Signed-off-by: Brett Tofel <[email protected]>
1 parent d45b666 commit c0b1dda

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

hack/tools/k8smaintainer/main.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"encoding/json"
66
"fmt"
7+
"io/fs" // Imported for fs.FileMode
78
"log"
89
"os"
910
"os/exec"
@@ -16,7 +17,13 @@ import (
1617
"golang.org/x/mod/semver"
1718
)
1819

19-
const k8sRepo = "k8s.io/kubernetes"
20+
const (
21+
k8sRepo = "k8s.io/kubernetes"
22+
expectedMajorMinorParts = 2
23+
goModFilePerms = fs.FileMode(0600)
24+
minGoListVersionFields = 2
25+
minValidPatchNumber = 1
26+
)
2027

2128
//nolint:gochecknoglobals
2229
var goExe = "go"
@@ -69,7 +76,7 @@ func main() {
6976
}
7077
majorMinor := semver.MajorMinor(k8sVer) // e.g., "v1.32"
7178
patch := strings.TrimPrefix(k8sVer, majorMinor+".") // e.g., "3"
72-
if len(strings.Split(majorMinor, ".")) != 2 {
79+
if len(strings.Split(majorMinor, ".")) != expectedMajorMinorParts {
7380
log.Fatalf("Unexpected format for MajorMinor: %s", majorMinor)
7481
}
7582
targetStagingVer := "v0" + strings.TrimPrefix(majorMinor, "v1") + "." + patch // e.g., "v0.32.3"
@@ -200,7 +207,7 @@ func main() {
200207
if err != nil {
201208
log.Fatalf("Error formatting go.mod: %v", err)
202209
}
203-
if err := os.WriteFile("go.mod", newModBytes, 0600); err != nil {
210+
if err := os.WriteFile("go.mod", newModBytes, goModFilePerms); err != nil {
204211
log.Fatalf("Error writing go.mod: %v", err)
205212
}
206213

@@ -265,7 +272,7 @@ func getModuleVersions(modulePath string) ([]string, error) {
265272
return nil, fmt.Errorf("error listing versions for %s: %w", modulePath, err)
266273
}
267274
fields := strings.Fields(string(output))
268-
if len(fields) < 2 {
275+
if len(fields) < minGoListVersionFields {
269276
return []string{}, nil // No versions listed
270277
}
271278
return fields[1:], nil // First field is the module path
@@ -294,8 +301,8 @@ func getLatestExistingVersion(modulePath, targetVer string) (string, error) {
294301
majorMinor := semver.MajorMinor(targetVer) // e.g., v0.32
295302
patchStr := strings.TrimPrefix(targetVer, majorMinor+".") // e.g., 3
296303
var patch int
297-
if _, err := fmt.Sscan(patchStr, &patch); err != nil || patch < 1 {
298-
log.Printf("Could not parse patch version or patch <= 0 for %s, cannot determine predecessor.", targetVer)
304+
if _, err := fmt.Sscan(patchStr, &patch); err != nil || patch < minValidPatchNumber {
305+
log.Printf("Could not parse patch version or patch < %d for %s, cannot determine predecessor.", minValidPatchNumber, targetVer)
299306
return "", nil // Cannot determine predecessor
300307
}
301308
prevPatchVer := fmt.Sprintf("%s.%d", majorMinor, patch-1) // e.g., v0.32.2

0 commit comments

Comments
 (0)