Skip to content

Testing preview versions

The kOps test infrastructure creates builds of git branches. These builds can easily be used for testing. Note that these builds are cleaned up after some time, so it is not safe to use these for production clusters.

This is handy as if you do not want to compile e.g the master branch to test a fix.

Testing release branches

After each successful merge to a release branch, the build is made available through a release marker.

branch marker
https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/master/latest-ci-updown-green.txt master branch
https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/release-1.21/latest-ci.txt kOps 1.21 release branch
https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/release-1.22/latest-ci.txt kOps 1.22 release branch

You can create a cluster using these markers using the following scripts:

marker="https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/master/latest-ci-updown-green.txt"
export KOPS_BASE_URL="$(curl -s https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/master/latest-ci-updown-green.txt)"
wget -q "$KOPS_BASE_URL/$(go env GOOS)/$(go env GOARCH)/kops"
chmod +x ./kops
./kops version

Keep in mind you need to set KOPS_BASE_URL every time you use ./kops

Testing a pull request

The presubmit jobs stage their builds in temporary buckets that are deleted when the job finishes, so pull request builds are not kept for testing. Instead, build the pull request yourself with one of the development scripts. They upload the build to a bucket in your own account, install kops to $GOPATH/bin and set KOPS_BASE_URL and KOPS_STATE_STORE:

pr=13208
git fetch https://github.com/kubernetes/kops.git "pull/${pr}/head"
git checkout FETCH_HEAD
. hack/dev-build-aws.sh # or . hack/dev-build-gce.sh
kops version

See the comments in the scripts for the permissions that the cluster needs to read the build.