Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write a script to automatically propose PR's due to a new Kubernetes release #4392

Closed
tstromberg opened this issue May 30, 2019 · 34 comments · Fixed by #9298, #9384, #9464, #9480 or #9529
Closed

Write a script to automatically propose PR's due to a new Kubernetes release #4392

tstromberg opened this issue May 30, 2019 · 34 comments · Fixed by #9298, #9384, #9464, #9480 or #9529
Assignees
Labels
area/kubernetes-versions Improving support for versions of Kubernetes good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. kind/process Process oriented issues, like setting up CI priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. roadmap/2019 Items on the 2019 roadmap

Comments

@tstromberg
Copy link
Contributor

tstromberg commented May 30, 2019

I would love a script that we can run from a cronjob or Jenkins that monitors https://github.com/kubernetes/kubernetes/releases for new releases.

The script should propose a PR for any release newer than NewestKubernetesVersion:

var NewestKubernetesVersion = "v1.14.2"

If the release is a non-beta release, it should also change DefaultKubernetesVersion in the same PR:

var DefaultKubernetesVersion = "v1.14.2"

This script should either build upon or replace https://github.com/kubernetes/minikube/blob/master/hack/kubernetes_version/update_kubernetes_version.go - which makes the changes necessary in our code base, but is designed for interactive use and does not know how to look for new Kubernetes releases.

We can provide a github token via an environment variable.

@tstromberg tstromberg added good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. roadmap/2019 Items on the 2019 roadmap area/kubernetes-versions Improving support for versions of Kubernetes labels May 30, 2019
@medyagh
Copy link
Member

medyagh commented May 31, 2019

@tstromberg do we want the latest stable release ? or the latest tag of any kind (release, pre-release...) ?

@tstromberg
Copy link
Contributor Author

NewestKubernetesVersion should be the most recent possible release: beta or RC is fine.

DefaultKubernetesVersion should be the most recent official stable release.

@medyagh
Copy link
Member

medyagh commented May 31, 2019

/assign medyagh

@k8s-ci-robot
Copy link
Contributor

@medyagh: GitHub didn't allow me to assign the following users: to, me.

Note that only kubernetes members and repo collaborators can be assigned and that issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

/assign to me

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@medyagh medyagh self-assigned this May 31, 2019
@sjortiz
Copy link

sjortiz commented Jun 6, 2019

Hey, I would like to work on this!
This would be my first contribution in k8s, might need some guidance

@tstromberg tstromberg added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Jul 12, 2019
@tstromberg tstromberg added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 18, 2019
@tstromberg
Copy link
Contributor Author

@sjortiz - If you are still interested, let me know how I can help.

@sjortiz
Copy link

sjortiz commented Sep 24, 2019

hey, Sorry for the late response, I honestly forgot about this as it has been a couple of months since I first asked.

Yeah, I'd love to work on this!
@tstromberg

@sjortiz
Copy link

sjortiz commented Sep 24, 2019

Could you provide me any insights on where to start?

@tstromberg
Copy link
Contributor Author

tstromberg commented Sep 27, 2019

@sjortiz - sure!

Initial iteration

I would start by implementing a standalone program that polls GitHub for the latest Kubernetes release, and if differs the current value used by minikube, run or import hacks/update_kubernetes_version, and send a PR out. This program should be located in the hacks/ subdirectory. Two reference programs that might help:

This first iteration should filter out -beta and -rc releases.

We will then take this script and set it to run on a periodic basis on our test servers.

Further iteration

  • script should query if there is already a PR with the same title, and if so, don't propose duplicates.
  • -beta and -rc releases should update constants.LatestKubernetesVersion

Documentation

https://godoc.org/github.com/google/go-github/github has the Go API documentation for the github library that we tend to use.

Thank you for volunteering!

@tstromberg
Copy link
Contributor Author

tstromberg commented Oct 10, 2019

@sjortiz - Does this issue still seem reasonable to resolve? Feel free to reach out for help here or on the #minikube Slack channel.

@anorek
Copy link

anorek commented Nov 19, 2019

@tstromberg regarding the filter of release version, is it enough to filter out pre-releases?

@gbraad
Copy link
Contributor

gbraad commented Nov 19, 2019 via email

@anorek
Copy link

anorek commented Dec 1, 2019

@sjortiz @tstromberg could i take this issue?

@tstromberg
Copy link
Contributor Author

@anorek - please do!

Filtering out pre-releases for the CurrentVersion sounds good.

@tstromberg tstromberg added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. and removed priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Dec 9, 2019
@tstromberg tstromberg added this to the v1.7.0-candidate milestone Dec 9, 2019
@tstromberg
Copy link
Contributor Author

Increasing the priority as we really would like to end the year with this roadmap item fixed.

@anorek
Copy link

anorek commented Dec 10, 2019

will try :) might need some assist like the authentication key and so

@tstromberg
Copy link
Contributor Author

@anorek - I'll be happy to help with any credential issues.

@tstromberg tstromberg removed this from the v1.7.0 milestone Jan 22, 2020
@medyagh
Copy link
Member

medyagh commented Feb 12, 2020

@anorek are you still working this ?

@anorek
Copy link

anorek commented Feb 17, 2020

@medyagh been busy for a while but I have most of the code ready. Will draft pr within 2 weeks

@medyagh
Copy link
Member

medyagh commented May 11, 2020

@anorek are you still woking on this?

@medyagh
Copy link
Member

medyagh commented Jun 24, 2020

@anorek I haven't heard from you, are you still interested in finishing this?

@anorek
Copy link

anorek commented Jun 27, 2020

@tstromberg is github action acceptable for this?

@sharifelgamal
Copy link
Collaborator

Github actions seem perfectly acceptable for this usecase.

@medyagh
Copy link
Member

medyagh commented Aug 26, 2020

This should be added to one of our automation tasks in q4

@medyagh medyagh added the kind/process Process oriented issues, like setting up CI label Aug 26, 2020
@prezha
Copy link
Contributor

prezha commented Sep 21, 2020

@tstromberg, @medyagh, @sharifelgamal: q4 is nearing, so i'd like to give it a try, if you don't mind :)

just three things to clarify/confirm:
a) re: NewestKubernetesVersion - should be the most recent possible release: beta or RC" - ie, not alpha as well?
b) testData should use DefaultKubernetesVersion, NewestKubernetesVersion, or both (warning: in case it's 'both' - i'll have more questions)?

cf = []byte(re.ReplaceAllString(string(cf), "kubernetesVersion: "+v))

c) script should update all respective <major>.<minor> versions in testData folder (in respective default.yaml), not just the latest one?
testData := "../../pkg/minikube/bootstrapper/bsutil/testdata"

if you agree, i'd work on a PR for iteration 0: "implementing a standalone program that polls GitHub for the latest Kubernetes release", which would improve on the existing "interactive use and does not know how to look for new Kubernetes releases" (ie, next iteration would be checking and automatically creating a new PR)?

@tstromberg
Copy link
Contributor Author

@prezha - Thanks for the questions!

a) I suggest ignoring alphas for NewestKubernetesVersion initially. We can always add them back in once we are confident in the workflow.
b) I don't think our testData should rely on either exact version at this point: but if so, let's stick with DefaultKubernetesVersion for now?
c) I think this part is mostly obsolete. We do need to still add testdata for major new versions, but let's save that for a subsequent PR.

The important thing is to iterate the version in constants.go and verify that make test passes. Automating the update of DefaultKubernetesVersion is more important than LatestKubernetesVersion (more toil & more impact). I suggest for the initial PR we focus on that.

@prezha
Copy link
Contributor

prezha commented Sep 22, 2020

thank you @tstromberg for your responses!

in summary:
a) ok, we'll use only the -rc or -beta for NewestKubernetesVersion, for now,
b) ok, let's stick with DefaultKubernetesVersion in testData, for now,
c) ok, we can cover the latest set of major.minor versions later (currently in pkg/minikube/bootstrapper/bsutil/testdata there are subfolders named v1.11..1.19)

conclusion: we'll focus on updating the version(s) in pkg/minikube/constants/constants.go and verify that make test passes

@prezha
Copy link
Contributor

prezha commented Sep 22, 2020

/assign

@prezha
Copy link
Contributor

prezha commented Sep 22, 2020

@tstromberg i've just created a pr for this first iteration - please have a look and let me know your thoughts; thanks!

@prezha
Copy link
Contributor

prezha commented Sep 23, 2020

thank you @medyagh for the review and approval/merge

shall i continue working on this according to the original scope - ie, automatically propose a pr for any release newer than current *KubernetesVersions values (ideally one/unique pr per each detected versions mismatch)?

if so: if the script would also run periodically and independently of (isolated from) the rest of the code - what would be the reference minikube release (and *KubernetesVersions) to check and send pr against: eg, latest stable minikube release or ?

@tstromberg
Copy link
Contributor Author

@prezha - Sounds good. Here's how I see this working, please let me know if you have any alternative suggestions:

  • We setup a cronjob that checks out the minikube source repository and runs this script.
  • This script is run, checking against the values in the local source tree
  • If there is a new Kubernetes version, it updates the local source tree, and if there are no open PR's which have the new version in the title, it proposes a PR.

I have no idea how to suggest proposing a PR, unfortunately. I understand there is at least a GitHub command-line we could use now. Sound OK?

@prezha
Copy link
Contributor

prezha commented Oct 3, 2020

@tstromberg - sounds great and in line with my thoughts: follows the details, and i've created a pr #9384 with changes in the script:

notes:

  • UPDATE_TARGET env var controlles what will be updated - options:
    = unset/absent, fs, or all: local filesystem repo will be updated - similarly to the old behaviour
    = gh or all: a pr against origin (kubernetes/minikube) github repo would be automatically created, but only if the same one does not exist already, and will 'mention' this issue here

  • GITHUB_TOKEN is required for gh or all UPDATE_TARGET

  • desired changes are defined as plan, which is flexible (ie, supports regex and go text templates) and placed at the top of the script - easy to amend and extend; parseability checks in place

  • aob:
    = used github.com/google/go-github/v32/github: pure go code ;) - no need to call git or gh cli from the script
    = used k8s.io/klog/v2 instead of glog
    = go.mod & go.sum amended accordingly (for klog/v2 and github/v32)
    = cron job script could contain something like: rm -rf ~/minikube && git clone https://github.com/kubernetes/minikube.git ~/minikube && cd ~/minikube/hack/kubernetes_version && go run update_kubernetes_version.go

  • all make test passed

  • testing & example output:

for unset UPDATE_TARGET:

1st run:

I1003 00:52:44.696940    1777 update_kubernetes_version.go:161] Kubernetes versions: 'stable' is v1.23.456 and 'latest' is v2.34.457-rc.89
I1003 00:52:44.697055    1777 update_kubernetes_version.go:163] The Plan:
{
  "pkg/minikube/constants/constants.go": {
    "replace": {
      "DefaultKubernetesVersion = \\\".*": "DefaultKubernetesVersion = \"v1.23.456\"",
      "NewestKubernetesVersion = \\\".*": "NewestKubernetesVersion = \"v2.34.457-rc.89\""
    }
  },
  "site/content/en/docs/commands/start.md": {
    "replace": {
      "'latest' for .*\\)": "'latest' for v2.34.457-rc.89)",
      "'stable' for .*,": "'stable' for v1.23.456,"
    }
  }
}
I1003 00:52:44.697581    1777 update_kubernetes_version.go:172] Local repo updated

git diff:

diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go
index fd330a96d..a533e0e09 100644
--- a/pkg/minikube/constants/constants.go
+++ b/pkg/minikube/constants/constants.go
@@ -27,10 +27,10 @@ import (

 const (
        // DefaultKubernetesVersion is the default Kubernetes version
-       DefaultKubernetesVersion = "v1.19.2"
+       DefaultKubernetesVersion = "v1.23.456"
        // NewestKubernetesVersion is the newest Kubernetes version to test against
        // NOTE: You may need to update coreDNS & etcd versions in pkg/minikube/bootstrapper/images/images.go
-       NewestKubernetesVersion = "v1.19.2"
+       NewestKubernetesVersion = "v2.34.457-rc.89"
        // OldestKubernetesVersion is the oldest Kubernetes version to test against
        OldestKubernetesVersion = "v1.13.0"
        // DefaultClusterName is the default nane for the k8s cluster
diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md
index 87538fb59..b1f036128 100644
--- a/site/content/en/docs/commands/start.md
+++ b/site/content/en/docs/commands/start.md
@@ -67,7 +67,7 @@ minikube start [flags]
       --interactive                       Allow user prompts for more information (default true)
       --iso-url strings                   Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube/iso/minikube-v1.13.1.iso,https://github.com/kubernetes/minikube/releases/download/v1.13.1/minikube-v1.13.1.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.13.1.iso])
       --keep-context                      This will keep the existing kubectl context and will create a minikube context.
-      --kubernetes-version string         The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.19.2, 'latest' for v1.19.2). Defaults to 'stable'.
+      --kubernetes-version string         The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.23.456, 'latest' for v2.34.457-rc.89). Defaults to 'stable'.
       --kvm-gpu                           Enable experimental NVIDIA GPU support in minikube
       --kvm-hidden                        Hide the hypervisor signature from the guest in minikube (kvm2 driver only)
       --kvm-network string                The KVM network name. (kvm2 driver only) (default "default")

2nd run:

I1003 00:53:30.207909    3317 update_kubernetes_version.go:161] Kubernetes versions: 'stable' is v1.23.456 and 'latest' is v2.34.457-rc.89
I1003 00:53:30.208360    3317 update_kubernetes_version.go:163] The Plan:
{
  "pkg/minikube/constants/constants.go": {
    "replace": {
      "DefaultKubernetesVersion = \\\".*": "DefaultKubernetesVersion = \"v1.23.456\"",
      "NewestKubernetesVersion = \\\".*": "NewestKubernetesVersion = \"v2.34.457-rc.89\""
    }
  },
  "site/content/en/docs/commands/start.md": {
    "replace": {
      "'latest' for .*\\)": "'latest' for v2.34.457-rc.89)",
      "'stable' for .*,": "'stable' for v1.23.456,"
    }
  }
}
I1003 00:53:30.209539    3317 update_kubernetes_version.go:170] Local repo update skipped: nothing changed

for UPDATE_TARGET set to gh and w/ GITHUB_TOKEN set:

1st run:

I1003 01:06:26.158314   21354 update_kubernetes_version.go:161] Kubernetes versions: 'stable' is v1.23.456 and 'latest' is v2.34.457-rc.89
I1003 01:06:26.158472   21354 update_kubernetes_version.go:163] The Plan:
{
  "pkg/minikube/constants/constants.go": {
    "replace": {
      "DefaultKubernetesVersion = \\\".*": "DefaultKubernetesVersion = \"v1.23.456\"",
      "NewestKubernetesVersion = \\\".*": "NewestKubernetesVersion = \"v2.34.457-rc.89\""
    }
  },
  "site/content/en/docs/commands/start.md": {
    "replace": {
      "'latest' for .*\\)": "'latest' for v2.34.457-rc.89)",
      "'stable' for .*,": "'stable' for v1.23.456,"
    }
  }
}
I1003 01:06:34.204164   21354 update_kubernetes_version.go:289] PR commit '0d49507f0f4d6fb8c6f8cf646a65a737371da2e8' created: https://github.com/prezha/minikube/commit/0d49507f0f4d6fb8c6f8cf646a65a737371da2e8
I1003 01:06:34.921082   21354 update_kubernetes_version.go:303] PR branch 'update-kubernetes-version_0d49507' created: https://api.github.com/repos/prezha/minikube/git/refs/heads/update-kubernetes-version_0d49507
I1003 01:06:36.615138   21354 update_kubernetes_version.go:199] PR created: https://github.com/triplepoint-tech/minikube/pull/3

2nd run:

I1003 01:06:52.070881   22035 update_kubernetes_version.go:161] Kubernetes versions: 'stable' is v1.23.456 and 'latest' is v2.34.457-rc.89
I1003 01:06:52.071322   22035 update_kubernetes_version.go:163] The Plan:
{
  "pkg/minikube/constants/constants.go": {
    "replace": {
      "DefaultKubernetesVersion = \\\".*": "DefaultKubernetesVersion = \"v1.23.456\"",
      "NewestKubernetesVersion = \\\".*": "NewestKubernetesVersion = \"v2.34.457-rc.89\""
    }
  },
  "site/content/en/docs/commands/start.md": {
    "replace": {
      "'latest' for .*\\)": "'latest' for v2.34.457-rc.89)",
      "'stable' for .*,": "'stable' for v1.23.456,"
    }
  }
}
I1003 01:06:52.434969   22035 update_kubernetes_version.go:190] PR create skipped: already exists (https://github.com/triplepoint-tech/minikube/pull/3)

please share your thoughts

thanks!

@prezha
Copy link
Contributor

prezha commented Oct 14, 2020

@tstromberg now that pr #9384 (related to this issue) is approved, i would propose to reuse the same approach also for issues eg, #9264 [update go version to be 1.15 in go mod], #9420 [automate pushing kicbase image from snapshot to stable after release] (and potentially others) that have similar requirements (ie, fully/semi-automated patching of specific files + additional actions)

the idea is that we just need to define what we want to update and with which values, and leave implementation details to available functions

i have restructured the code accordingly and also expanded to include functionalities for above-mentioned issues

so, currently, with this, we can: track new kubernetes stable & latest versions, new goland stable versions, update any local fs files, update any files on github, automatically create pr for those changes (if one does not exists already), update all three remote container registries we use here (ie, gcr, docker, and github)

i've created a new pr #9464 here with these changes and additions (it would create a separate update folder under /hack) for you review - please have a look and share your thoughts

thanks!

examples of automatically created (test) PRs:

example command outputs:

  • update go version:
❯ go run update_golang_version.go
I1013 23:32:12.326377    7595 update_golang_version.go:114] Golang stable version: 1.17.7
I1013 23:32:12.327221    7595 patch.go:111] The Plan:
{
  ".github/workflows/iso.yml": {
    "replace": {
      "go-version: '.*": "go-version: '1.17.7'"
    }
  },
  ".github/workflows/kic_image.yml": {
    "replace": {
      "go-version: '.*": "go-version: '1.17.7'"
    }
  },
  ".github/workflows/master.yml": {
    "replace": {
      "go-version: '.*": "go-version: '1.17.7'"
    }
  },
  ".github/workflows/pr.yml": {
    "replace": {
      "go-version: '.*": "go-version: '1.17.7'"
    }
  },
  ".travis.yml": {
    "replace": {
      "go: .*": "go: 1.17.7",
      "go:\\n  - .*": "go:\n  - 1.17.7"
    }
  },
  "Makefile": {
    "replace": {
      "GO_VERSION \\?= .*": "GO_VERSION ?= 1.17.7"
    }
  },
  "go.mod": {
    "replace": {
      "(?m)^go .*": "go 1.17"
    }
  },
  "hack/jenkins/common.sh": {
    "replace": {
      "sudo \\.\\/installers\\/check_install_golang\\.sh \\\".*\\\" \\\"\\/usr\\/local\\\"": "sudo ./installers/check_install_golang.sh \"1.17.7\" \"/usr/local\""
    }
  }
}
I1013 23:32:12.336384    7595 patch.go:120] Local repo updated
I1013 23:32:22.568153    7595 github.go:112] PR commit '03522ce09a056032e0c96fc36e5449ff9ca5b9a4' created: https://github.com/prezha/minikube/commit/03522ce09a056032e0c96fc36e5449ff9ca5b9a4
I1013 23:32:23.248829    7595 github.go:126] PR branch 'update-golang-version_03522ce' created: https://api.github.com/repos/prezha/minikube/git/refs/heads/update-golang-version_03522ce
I1013 23:32:24.821191    7595 patch.go:147] PR created: https://github.com/triplepoint-tech/minikube/pull/8
  • update kic base image version:
❯ go run update_kicbase_version.go
I1013 23:46:57.013402   29415 update_kicbase_version.go:104] kic base image versions: 'current' is v0.0.13 and 'stable' would be v0.0.13
E1013 23:46:59.965634   29415 patch.go:185] Temporary error running '/usr/bin/docker pull gcr.io/minikube-292219/kicbase:v0.0.13' (will retry in 656.519254ms): exit status 1: Error response from daemon: manifest for gcr.io/minikube-292219/kicbase:v0.0.13 not found: manifest unknown: Failed to fetch "v0.0.13" from request "/v2/minikube-292219/kicbase/manifests/v0.0.13".
E1013 23:47:01.622627   29415 patch.go:185] Temporary error running '/usr/bin/docker pull gcr.io/minikube-292219/kicbase:v0.0.13' (will retry in 3.203647442s): exec: already started:
E1013 23:47:12.826714   29415 patch.go:185] Temporary error running '/usr/bin/docker pull gcr.io/minikube-292219/kicbase:v0.0.13' (will retry in 21.018239376s): exec: already started:
E1013 23:47:56.845340   29415 patch.go:185] Temporary error running '/usr/bin/docker pull gcr.io/minikube-292219/kicbase:v0.0.13' (will retry in 52.839431358s): exec: already started:
I1013 23:49:08.579679   29415 update_kicbase_version.go:111] local kic base reference image: docker.io/prezha/kicbase
I1013 23:49:08.971285   29415 registry.go:98] successfully logged in to Google Cloud Container Registry
I1013 23:49:09.046466   29415 registry.go:104] successfully tagged gcr.io/minikube-292219/kicbase:v0.0.13 for Google Cloud Container Registry
I1013 23:49:26.391649   29415 registry.go:110] successfully pushed gcr.io/minikube-292219/kicbase:v0.0.13 to Google Cloud Container Registry
I1013 23:49:26.391686   29415 registry.go:122] successfully updated Google Cloud Container Registry
I1013 23:49:27.821724   29415 registry.go:98] successfully logged in to Docker Hub Container Registry
I1013 23:49:27.892438   29415 registry.go:104] successfully tagged docker.io/prezha/kicbase:v0.0.13 for Docker Hub Container Registry
I1013 23:49:33.470330   29415 registry.go:110] successfully pushed docker.io/prezha/kicbase:v0.0.13 to Docker Hub Container Registry
I1013 23:49:33.470342   29415 registry.go:122] successfully updated Docker Hub Container Registry
I1013 23:49:34.077895   29415 registry.go:98] successfully logged in to GitHub Packages Registry
I1013 23:49:34.145706   29415 registry.go:104] successfully tagged docker.pkg.github.com/triplepoint-tech/minikube/kicbase:v0.0.13 for GitHub Packages Registry
I1013 23:49:38.614636   29415 registry.go:110] successfully pushed docker.pkg.github.com/triplepoint-tech/minikube/kicbase:v0.0.13 to GitHub Packages Registry
I1013 23:49:38.614673   29415 registry.go:122] successfully updated GitHub Packages Registry
I1013 23:49:38.615047   29415 patch.go:111] The Plan:
{
  "pkg/drivers/kic/types.go": {
    "replace": {
      "Version = \".*\"": "Version = \"v0.0.13\""
    }
  }
}
I1013 23:49:38.615652   29415 patch.go:118] Local repo update skipped: nothing changed
I1013 23:49:46.673485   29415 github.go:112] PR commit '1fcf74f0700889c782926c737b2f3176d28009b8' created: https://github.com/prezha/minikube/commit/1fcf74f0700889c782926c737b2f3176d28009b8
I1013 23:49:47.389907   29415 github.go:126] PR branch 'update-kicbase-version_1fcf74f' created: https://api.github.com/repos/prezha/minikube/git/refs/heads/update-kicbase-version_1fcf74f
I1013 23:49:49.067492   29415 patch.go:147] PR created: https://github.com/triplepoint-tech/minikube/pull/9
  • update kubernetes version:
❯ go run update_kubernetes_version.go
I1013 23:57:30.229903    7908 update_kubernetes_version.go:82] Kubernetes versions: 'stable' is v1.20.1 and 'latest' is v1.23.4-rc.5
I1013 23:57:30.230121    7908 patch.go:111] The Plan:
{
  "pkg/minikube/constants/constants.go": {
    "replace": {
      "DefaultKubernetesVersion = \".*": "DefaultKubernetesVersion = \"v1.20.1\"",
      "NewestKubernetesVersion = \".*": "NewestKubernetesVersion = \"v1.23.4-rc.5\""
    }
  },
  "site/content/en/docs/commands/start.md": {
    "replace": {
      "'latest' for .*\\)": "'latest' for v1.23.4-rc.5)",
      "'stable' for .*,": "'stable' for v1.20.1,"
    }
  }
}
I1013 23:57:30.230658    7908 patch.go:120] Local repo updated
I1013 23:57:38.547231    7908 github.go:112] PR commit '40a13056567e6258dd6fbd3c878033c74eeabbcc' created: https://github.com/prezha/minikube/commit/40a13056567e6258dd6fbd3c878033c74eeabbcc
I1013 23:57:39.368093    7908 github.go:126] PR branch 'update-kubernetes-version_40a1305' created: https://api.github.com/repos/prezha/minikube/git/refs/heads/update-kubernetes-version_40a1305
I1013 23:57:40.702064    7908 patch.go:147] PR created: https://github.com/triplepoint-tech/minikube/pull/10

@prezha
Copy link
Contributor

prezha commented Oct 15, 2020

btw, Kubernetes released v1.19.3 yesterday, so maybe we could give the script a go?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubernetes-versions Improving support for versions of Kubernetes good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. kind/process Process oriented issues, like setting up CI priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. roadmap/2019 Items on the 2019 roadmap
Projects
None yet
8 participants