diff --git a/.github/kubernetes-versions.json b/.github/kubernetes-versions.json new file mode 100644 index 0000000..64d9d48 --- /dev/null +++ b/.github/kubernetes-versions.json @@ -0,0 +1,7 @@ +{ + "versions": [ + "1.36.0", + "1.35.0", + "1.34.0" + ] +} diff --git a/README.md b/README.md index af16114..19439c7 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,20 @@ For example, if the current release is `1.29.0`, we support the following: Older releases should work as well, but we do not test them automatically, and we may decide not to fix bugs related to older releases. +Integration tests run against explicit Kubernetes versions defined in `.github/kubernetes-versions.json`. + +To update tested versions: +1. Edit `.github/kubernetes-versions.json` +2. Update to the 3 latest minor releases +3. Commit and push + +Example: +```json +{ + "versions": ["1.36.0", "1.35.0", "1.34.0"] +} +``` + ## Try It Out To test the CCM on a vanilla Kubernetes cluster, you can use `helpers/run-in-test-cluster`. This will create a small Kubernetes cluster at cloudscale.ch, diff --git a/helpers/test-matrix b/helpers/test-matrix index c4dda20..56f9a65 100755 --- a/helpers/test-matrix +++ b/helpers/test-matrix @@ -1,14 +1,13 @@ #!/usr/bin/env bash set -euo pipefail -# Make sure the k8test/helpers/release-set CLI is available -source helpers/run-in-test-cluster -ensure-k8test > /dev/null +# Read explicit Kubernetes versions from config +K8S_VERSIONS=$(jq -r '.versions' .github/kubernetes-versions.json) # Returns the matrix entry for the given index (1-n) function matrixentry { # Kubernetes releases - k8test/helpers/release-set --kubernetes=$(( 1 - $1 )) --limit kubernetes | jq -r '.kubernetes.version' + echo "$K8S_VERSIONS" | jq -r ".[$(( $1 - 1 ))]" # The the private subnet range echo "10.100.$1.0/24"