CI: Fix kubectl auto update not getting newest version
parent
09fba9c71f
commit
d3d8937ab6
|
@ -18,6 +18,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"golang.org/x/mod/semver"
|
"golang.org/x/mod/semver"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
@ -42,10 +43,7 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatal(err)
|
klog.Fatal(err)
|
||||||
}
|
}
|
||||||
tag, err := latestStableSemverTag(tags)
|
tag := latestStableSemverTag(tags)
|
||||||
if err != nil {
|
|
||||||
klog.Fatal(err)
|
|
||||||
}
|
|
||||||
sha, err := update.GetImageSHA(fmt.Sprintf("docker.io/bitnami/kubectl:%s", tag))
|
sha, err := update.GetImageSHA(fmt.Sprintf("docker.io/bitnami/kubectl:%s", tag))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatalf("failed to get image SHA: %v", err)
|
klog.Fatalf("failed to get image SHA: %v", err)
|
||||||
|
@ -56,12 +54,13 @@ func main() {
|
||||||
update.Apply(schema, data)
|
update.Apply(schema, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func latestStableSemverTag(tags []string) (string, error) {
|
func latestStableSemverTag(tags []string) string {
|
||||||
|
latest := "v0.0.0"
|
||||||
for _, tag := range tags {
|
for _, tag := range tags {
|
||||||
vTag := fmt.Sprintf("v%s", tag)
|
vTag := fmt.Sprintf("v%s", tag)
|
||||||
if semver.IsValid(vTag) && semver.Prerelease(vTag) == "" {
|
if semver.IsValid(vTag) && semver.Prerelease(vTag) == "" && semver.Compare(vTag, latest) == 1 {
|
||||||
return tag, nil
|
latest = vTag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "", fmt.Errorf("no stable semver tag found")
|
return strings.TrimPrefix(latest, "v")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue