include alpha releases in kubeadm const update

pull/13165/head
Medya Gh 2021-12-14 12:09:51 -08:00
parent 0fa8747da5
commit 801f1e2ba7
6 changed files with 19 additions and 16 deletions

View File

@ -1002,7 +1002,6 @@ endif
update-kubeadm-constants:
(cd hack/update/kubeadm_constants && \
go run update_kubeadm_constants.go)
gofmt -w pkg/minikube/constants/constants_kubeadm_images.go
.PHONY: stress
stress: ## run the stress tests

View File

@ -210,7 +210,7 @@ func ghUpdate(ctx context.Context, owner, repo string, token string, schema map[
// GHReleases returns greatest current stable release and greatest latest rc or beta pre-release from GitHub owner/repo repository, and any error occurred.
// If latest pre-release version is lower than the current stable release, then it will return current stable release for both.
func GHReleases(ctx context.Context, owner, repo string) (stable, latest string, err error) {
func GHReleases(ctx context.Context, owner, repo string) (stable, latest, edge string, err error) {
ghc := ghClient(ctx, ghToken)
// walk through the paginated list of up to ghSearchLimit newest releases
@ -218,7 +218,7 @@ func GHReleases(ctx context.Context, owner, repo string) (stable, latest string,
for (opts.Page+1)*ghListPerPage <= ghSearchLimit {
rls, resp, err := ghc.Repositories.ListTags(ctx, owner, repo, opts)
if err != nil {
return "", "", err
return "", "", "", err
}
for _, rl := range rls {
ver := *rl.Name
@ -235,7 +235,12 @@ func GHReleases(ctx context.Context, owner, repo string) (stable, latest string,
if semver.Compare(ver, latest) == 1 {
latest = ver
}
} else if strings.Contains(prerls, "-alpha") {
if semver.Compare(ver, edge) == 1 {
edge = ver
}
}
// make sure that latest >= stable
if semver.Compare(latest, stable) == -1 {
latest = stable
@ -246,7 +251,7 @@ func GHReleases(ctx context.Context, owner, repo string) (stable, latest string,
}
opts.Page = resp.NextPage
}
return stable, latest, nil
return stable, latest, edge, nil
}
// ghClient returns GitHub Client with a given context and optional token for authenticated requests.

View File

@ -80,7 +80,7 @@ func main() {
// golintVersions returns stable version in semver format.
func golintVersion(ctx context.Context, owner, repo string) (stable string, err error) {
// get Kubernetes versions from GitHub Releases
stable, _, err = update.GHReleases(ctx, owner, repo)
stable, _, _, err = update.GHReleases(ctx, owner, repo)
if err != nil || !semver.IsValid(stable) {
return "", err
}

View File

@ -100,7 +100,7 @@ func main() {
// gopoghVersion returns gopogh stable version in semver format.
func gopoghVersion(ctx context.Context, owner, repo string) (stable string, err error) {
// get Kubernetes versions from GitHub Releases
stable, _, err = update.GHReleases(ctx, owner, repo)
stable, _, _, err = update.GHReleases(ctx, owner, repo)
if err != nil || !semver.IsValid(stable) {
return "", err
}

View File

@ -65,13 +65,12 @@ func main() {
// set a context with defined timeout
ctx, cancel := context.WithTimeout(context.Background(), cxTimeout)
defer cancel()
if inputVersion == "latest" {
stableImageVersion, latestImageVersion, err := getK8sVersions(ctx, "kubernetes", "kubernetes")
stableImageVersion, latestImageVersion, edgeImageVersion, err := getK8sVersions(ctx, "kubernetes", "kubernetes")
if err != nil {
klog.Fatal(err)
}
imageVersions = append(imageVersions, stableImageVersion, latestImageVersion)
imageVersions = append(imageVersions, stableImageVersion, latestImageVersion, edgeImageVersion)
} else if semver.IsValid(inputVersion) {
imageVersions = append(imageVersions, inputVersion)
} else {
@ -193,16 +192,16 @@ func executeCommand(command string, args ...string) (string, error) {
}
// getK8sVersion returns Kubernetes versions.
func getK8sVersions(ctx context.Context, owner, repo string) (stable, latest string, err error) {
func getK8sVersions(ctx context.Context, owner, repo string) (stable, latest, edge string, err error) {
// get Kubernetes versions from GitHub Releases
stable, latest, err = update.GHReleases(ctx, owner, repo)
stable, latest, edge, err = update.GHReleases(ctx, owner, repo)
if err != nil {
return "", "", err
return "", "", "", err
}
if !semver.IsValid(stable) || !semver.IsValid(latest) {
return "", "", fmt.Errorf("invalid release obtained stable : %s, latest : %s", stable, latest)
if !semver.IsValid(stable) || !semver.IsValid(latest) || !semver.IsValid(edge) {
return "", "", "", fmt.Errorf("invalid release obtained stable : %s, latest : %s, edge: %s", stable, latest, edge)
}
return stable, latest, nil
return stable, latest, edge, nil
}

View File

@ -145,7 +145,7 @@ func main() {
// k8sVersion returns Kubernetes versions.
func k8sVersions(ctx context.Context, owner, repo string) (stable, latest, latestMM, latestP0 string, err error) {
// get Kubernetes versions from GitHub Releases
stable, latest, err = update.GHReleases(ctx, owner, repo)
stable, latest, _, err = update.GHReleases(ctx, owner, repo)
if err != nil || !semver.IsValid(stable) || !semver.IsValid(latest) {
return "", "", "", "", err
}