Skip to content

Commit 5e571ed

Browse files
author
Jim Ryan
authored
cherry pick: automate kindest/node versions (#4798) (#4812)
* automate kindest/node versions (#4798) * automate kindest/node versions * fix typo * test github action * undo temporary test * exclude versions not in the form vX.Y.Z, eg alpha versions * update k8s_latest origin * trim the version from the start of the string * skip pr for get id token step (#4813)
1 parent b048376 commit 5e571ed

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

.github/workflows/build-plus.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ jobs:
9191
script: |
9292
let id_token = await core.getIDToken()
9393
core.setOutput('id_token', id_token)
94+
if: ${{ github.event_name != 'pull_request' && ! startsWith(github.ref, 'refs/heads/release-') }}
9495

9596
- name: Login to NGINX Registry
9697
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0

.github/workflows/ci.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
outputs:
3333
go_path: ${{ steps.vars.outputs.go_path }}
3434
k8s_latest: ${{ steps.vars.outputs.k8s_latest }}
35+
latest_kindest_node_versions: ${{steps.vars.outputs.latest_kindest_node_versions}}
3536
chart_version: ${{ steps.vars.outputs.chart_version }}
3637
steps:
3738
- name: Checkout Repository
@@ -45,9 +46,31 @@ jobs:
4546
- name: Output Variables
4647
id: vars
4748
run: |
48-
echo "k8s_latest=$(grep -m1 'FROM kindest/node' <tests/Dockerfile | awk -F'[:v]' '{print $3}')" >> $GITHUB_OUTPUT
49+
kindest_latest=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \
50+
| grep -o '"name": *"[^"]*' \
51+
| grep -o '[^"]*$' \
52+
| grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \
53+
| sort -rV \
54+
| head -n 1 \
55+
| sed 's/^.\{1\}//' \
56+
| tr -d '\n')
57+
echo "k8s_latest=$kindest_latest" >> $GITHUB_OUTPUT
4958
echo "chart_version=$(yq '.version' <charts/nginx-ingress/Chart.yaml)" >> $GITHUB_OUTPUT
5059
echo "go_path=$(go env GOPATH)" >> $GITHUB_OUTPUT
60+
kindest_versions=$(curl -s "https://hub.docker.com/v2/repositories/kindest/node/tags" \
61+
| grep -o '"name": *"[^"]*' \
62+
| grep -o '[^"]*$' \
63+
| grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \
64+
| sort -rV \
65+
| awk -F. '!seen[$1"."$2]++' \
66+
| head -n 7 \
67+
| sort -V \
68+
| sed 's/v//g' \
69+
| sed 's/^/\\\"/' \
70+
| sed 's/$/\\\",/' \
71+
| tr '\n' ' ' \
72+
| sed 's/, $//')
73+
echo "latest_kindest_node_versions=$kindest_versions" >> $GITHUB_OUTPUT
5174
5275
- name: Check if go.mod and go.sum are up to date
5376
run: go mod tidy && git diff --exit-code -- go.mod go.sum
@@ -279,7 +302,7 @@ jobs:
279302
{\"image\": \"debian-plus-nap\", \"marker\": \"dos_learning\"}], \
280303
\"k8s\": [\"${{ needs.checks.outputs.k8s_latest }}\"]}" >> $GITHUB_OUTPUT
281304
else
282-
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 }}\"], \
305+
echo "matrix={\"k8s\": [${{ needs.checks.outputs.latest_kindest_node_versions }}], \
283306
\"images\": [{\"image\": \"debian\"}, {\"image\": \"debian-plus\"}]}" >> $GITHUB_OUTPUT
284307
fi
285308

0 commit comments

Comments
 (0)