From c63f80c16698cc42c1d8625defa36acd69859784 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Thu, 14 Dec 2023 11:57:28 +0000 Subject: [PATCH 1/7] automate kindest/node versions --- .github/workflows/ci.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 475d3f0c9c..7ac4640d74 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,6 +32,7 @@ jobs: outputs: go_path: ${{ steps.vars.outputs.go_path }} k8s_latest: ${{ steps.vars.outputs.k8s_latest }} + latest_kindest_node_versions: ${{steps.vars.outcome.latest_kindest_node_versions}} chart_version: ${{ steps.vars.outputs.chart_version }} steps: - name: Checkout Repository @@ -48,6 +49,19 @@ jobs: echo "k8s_latest=$(grep -m1 'FROM kindest/node' > $GITHUB_OUTPUT echo "chart_version=$(yq '.version' > $GITHUB_OUTPUT echo "go_path=$(go env GOPATH)" >> $GITHUB_OUTPUT + kindest_versions=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \ + | grep -o '"name": *"[^"]*' \ + | grep -o '[^"]*$' \ + | sort -rV \ + | awk -F. '!seen[$1"."$2]++' \ + | head -n 7 \ + | sort -V \ + | sed 's/v//g' \ + | sed 's/^/\\\"/' \ + | sed 's/$/\\\",/' \ + | tr '\n' ' ' \ + | sed 's/, $//') + echo "latest_kindest_node_versions=$kindest_versions" >> $GITHUB_OUTPUT - name: Check if go.mod and go.sum are up to date run: go mod tidy && git diff --exit-code -- go.mod go.sum @@ -272,7 +286,7 @@ jobs: {\"image\": \"debian-plus-nap\", \"marker\": \"dos\"}], \ \"k8s\": [\"${{ needs.checks.outputs.k8s_latest }}\"]}" >> $GITHUB_OUTPUT else - echo "matrix={\"k8s\": [\"1.22.17\", \"1.23.17\", \"1.24.15\", \"1.25.11\", \"1.26.6\", \"1.27.3\", \"${{ needs.checks.outputs.k8s_latest }}\"], \ + echo "matrix={\"k8s\": [${{ needs.checks.outputs.latest_kindest_node_versions }}], \ \"images\": [{\"image\": \"debian\"}, {\"image\": \"debian-plus\"}]}" >> $GITHUB_OUTPUT fi From 1f7ffc3fd9c93e9c0ac99fb55933e03f777359a7 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Thu, 14 Dec 2023 12:12:03 +0000 Subject: [PATCH 2/7] fix typo --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ac4640d74..d0f270e461 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: outputs: go_path: ${{ steps.vars.outputs.go_path }} k8s_latest: ${{ steps.vars.outputs.k8s_latest }} - latest_kindest_node_versions: ${{steps.vars.outcome.latest_kindest_node_versions}} + latest_kindest_node_versions: ${{steps.vars.outputs.latest_kindest_node_versions}} chart_version: ${{ steps.vars.outputs.chart_version }} steps: - name: Checkout Repository From 0e927fe08bb96f4c9c3ea5013ecca7b6e4acd457 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Thu, 14 Dec 2023 14:16:36 +0000 Subject: [PATCH 3/7] test github action --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0f270e461..9ae551a111 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -265,8 +265,9 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix + # temporarily swap schedule condition to test that matrix still works during pr run: | - if [ "${{ github.event_name }}" != "schedule" ]; then + if [ "${{ github.event_name }}" == "schedule" ]; then echo "matrix={\"images\": \ [{\"image\": \"debian\", \"marker\": \"ingresses\"}, \ {\"image\": \"alpine\", \"marker\":\"vsr\"}, \ From 9f0c6d2e79b4cfba48a4193aae306f743775f68b Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Thu, 14 Dec 2023 14:34:17 +0000 Subject: [PATCH 4/7] undo temporary test --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ae551a111..d0f270e461 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -265,9 +265,8 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix - # temporarily swap schedule condition to test that matrix still works during pr run: | - if [ "${{ github.event_name }}" == "schedule" ]; then + if [ "${{ github.event_name }}" != "schedule" ]; then echo "matrix={\"images\": \ [{\"image\": \"debian\", \"marker\": \"ingresses\"}, \ {\"image\": \"alpine\", \"marker\":\"vsr\"}, \ From c63eda2aa92cab88ff15ab8e167d641cbec4c1c6 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Fri, 15 Dec 2023 09:29:40 +0000 Subject: [PATCH 5/7] exclude versions not in the form vX.Y.Z, eg alpha versions --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80d937a689..7e485a39dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,7 @@ jobs: kindest_versions=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \ | grep -o '"name": *"[^"]*' \ | grep -o '[^"]*$' \ + | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \ | sort -rV \ | awk -F. '!seen[$1"."$2]++' \ | head -n 7 \ From 8b6a47c3abfbb3459262f7743cc887683dc00928 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Fri, 15 Dec 2023 13:45:48 +0000 Subject: [PATCH 6/7] update k8s_latest origin --- .github/workflows/ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e485a39dd..3744823062 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,14 @@ jobs: - name: Output Variables id: vars run: | - echo "k8s_latest=$(grep -m1 'FROM kindest/node' > $GITHUB_OUTPUT + kindest_latest=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \ + | grep -o '"name": *"[^"]*' \ + | grep -o '[^"]*$' \ + | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \ + | sort -rV \ + | head -n 1 \ + | tr -d '\n') + echo "k8s_latest=$kindest_latest" >> $GITHUB_OUTPUT echo "chart_version=$(yq '.version' > $GITHUB_OUTPUT echo "go_path=$(go env GOPATH)" >> $GITHUB_OUTPUT kindest_versions=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \ From 4f33cdbb00d51c05c89b8b23c00961218df3cbe7 Mon Sep 17 00:00:00 2001 From: Jim Ryan Date: Fri, 15 Dec 2023 13:59:55 +0000 Subject: [PATCH 7/7] trim the version from the start of the string --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3744823062..966febbc22 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,7 @@ jobs: | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \ | sort -rV \ | head -n 1 \ + | sed 's/^.\{1\}//' \ | tr -d '\n') echo "k8s_latest=$kindest_latest" >> $GITHUB_OUTPUT echo "chart_version=$(yq '.version' > $GITHUB_OUTPUT