diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index 42b43aa5838..edb238a4d2f 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -29,9 +29,6 @@ on: type: boolean default: false -env: - KIND_VERSION: v0.18.0 - jobs: test: name: Run tests @@ -61,6 +58,7 @@ jobs: ./hack/build-antrea-linux-all.sh --pull - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin diff --git a/.github/workflows/kind.yml b/.github/workflows/kind.yml index 709c1eaa828..85f38780220 100644 --- a/.github/workflows/kind.yml +++ b/.github/workflows/kind.yml @@ -11,9 +11,6 @@ on: - release-* - feature/* -env: - KIND_VERSION: v0.20.0 - jobs: check-changes: name: Check whether tests need to be run based on diff @@ -95,6 +92,7 @@ jobs: docker load -i antrea-ubuntu.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -156,6 +154,7 @@ jobs: docker load -i antrea-ubuntu.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -223,6 +222,7 @@ jobs: docker load -i antrea-ubuntu.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -290,6 +290,7 @@ jobs: docker load -i antrea-ubuntu.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -351,6 +352,7 @@ jobs: docker load -i antrea-ubuntu.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -424,6 +426,7 @@ jobs: docker load -i flow-aggregator.tar - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -486,6 +489,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -530,6 +534,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -574,6 +579,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -618,6 +624,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -662,6 +669,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin @@ -703,6 +711,7 @@ jobs: docker tag antrea/antrea-ubuntu-coverage:latest antrea/antrea-ubuntu:latest - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin diff --git a/.github/workflows/netpol_cyclonus.yml b/.github/workflows/netpol_cyclonus.yml index edf91f7e545..92eeb069bd5 100644 --- a/.github/workflows/netpol_cyclonus.yml +++ b/.github/workflows/netpol_cyclonus.yml @@ -4,9 +4,6 @@ on: # run once a day at midnight - cron: '0 0 * * *' -env: - KIND_VERSION: v0.20.0 - jobs: test-netpol-cyclonus: name: Run Cyclonus network policy generator tests on Kind cluster @@ -22,6 +19,7 @@ jobs: - run: make - name: Install Kind run: | + KIND_VERSION=$(head -n1 ./ci/kind/version | xargs) curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 chmod +x ./kind sudo mv kind /usr/local/bin diff --git a/ci/jenkins/jobs/macros.yaml b/ci/jenkins/jobs/macros.yaml index 78990420eb3..b9b4af5a759 100644 --- a/ci/jenkins/jobs/macros.yaml +++ b/ci/jenkins/jobs/macros.yaml @@ -239,6 +239,7 @@ # we have configured for running conformance and NetworkPolicy tests on Kind, # so clusters older than that can de deleted safely. ./ci/kind/kind-setup.sh destroy --all --until 135 + ./ci/kind/kind-upgrade.sh ./ci/kind/kind-setup.sh --antrea-cni create "${{JOB_NAME}}-${{BUILD_NUMBER}}" kind export kubeconfig -n "${{JOB_NAME}}-${{BUILD_NUMBER}}" --kubeconfig ${{PWD}}/.kube/config set +ex diff --git a/ci/kind/kind-upgrade.sh b/ci/kind/kind-upgrade.sh new file mode 100755 index 00000000000..381d1d1d5dd --- /dev/null +++ b/ci/kind/kind-upgrade.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Copyright 2023 Antrea Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eo pipefail +LATEST_KIND_VERSION=$(head -n1 ./ci/kind/version) + +# on linux +function upgrade_kind { + arch_name="$(uname -m)" + binary_name="" + case "$arch_name" in + "x86_64") + binary_name="kind-linux-amd64" + ;; + "aarch64") + binary_name="kind-linux-arm64" + ;; + *) + echoerr "Unsupported platform $arch_name" + exit 1 + ;; + esac + + set +e + curl -Lo ./kind https://kind.sigs.k8s.io/dl/$LATEST_KIND_VERSION/$binary_name + chmod +x ./kind + sudo mv ./kind /usr/local/bin/kind + if [[ $? -ne 0 ]]; then + echoerr "Failed to upgrade Kind version $LATEST_KIND_VERSION" + exit 1 + else + echo "Kind version $LATEST_KIND_VERSION upgraded successfully" + fi + set -e +} + +kind_version=$(kind version | awk '{print substr($2, 2)}') # strip leading 'v' +if [[ "$kind_version" != "$LATEST_KIND_VERSION" ]]; then + echo "=== Upgrading Kind to the latest version $LATEST_KIND_VERSION ===" + upgrade_kind +else + echo "=== Existing Kind version $LATEST_KIND_VERSION is up to date ===" + exit 0 +fi + diff --git a/ci/kind/version b/ci/kind/version new file mode 100755 index 00000000000..39e0feb69b4 --- /dev/null +++ b/ci/kind/version @@ -0,0 +1 @@ +v0.20.0