Test with k8s 1.32.2 and upgrade tool versions used in CI (#587)
- kind 0.22.0 -> 0.27.0 - test with k8s 1.32.2 instead of 1.29.2 to ensure compatibility with latest k8s release - default helm version 3.14.4 -> 3.16.4 - chart releaser 1.6.0 -> 1.7.0 - ubuntu 22.04 -> 24.04 - chart testing 3.11.0 -> 3.12.0 - yamllint 1.33.0 -> 1.35.1 - yamale 4.0.4 -> 6.0.0
This commit is contained in:
parent
18c4cc5440
commit
976ba92e3b
@ -39,15 +39,15 @@ inputs:
|
||||
version:
|
||||
description: "The chart-testing version to install"
|
||||
required: false
|
||||
default: v3.11.0
|
||||
default: v3.12.0
|
||||
yamllint_version:
|
||||
description: "The yamllint version to install"
|
||||
required: false
|
||||
default: '1.33.0'
|
||||
default: '1.35.1'
|
||||
yamale_version:
|
||||
description: "The yamale version to install"
|
||||
required: false
|
||||
default: '4.0.4'
|
||||
default: '6.0.0'
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
|
||||
18
.github/actions/chart-testing-action/ct.sh
vendored
18
.github/actions/chart-testing-action/ct.sh
vendored
@ -35,9 +35,9 @@ set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
DEFAULT_CHART_TESTING_VERSION=v3.11.0
|
||||
DEFAULT_YAMLLINT_VERSION=1.33.0
|
||||
DEFAULT_YAMALE_VERSION=4.0.4
|
||||
DEFAULT_CHART_TESTING_VERSION=v3.12.0
|
||||
DEFAULT_YAMLLINT_VERSION=1.35.1
|
||||
DEFAULT_YAMALE_VERSION=6.0.0
|
||||
|
||||
ARCH=$(uname -m)
|
||||
case $ARCH in
|
||||
@ -131,18 +131,24 @@ install_chart_testing() {
|
||||
tar -xzf ct.tar.gz -C "$cache_dir"
|
||||
rm -f ct.tar.gz
|
||||
|
||||
# if uv (https://docs.astral.sh/uv/) is not installed, install it
|
||||
if ! command -v uv &> /dev/null; then
|
||||
echo 'Installing uv...'
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
fi
|
||||
|
||||
echo 'Creating virtual Python environment...'
|
||||
python3 -m venv "$venv_dir"
|
||||
uv venv "$venv_dir"
|
||||
|
||||
echo 'Activating virtual environment...'
|
||||
# shellcheck disable=SC1090
|
||||
source "$venv_dir/bin/activate"
|
||||
|
||||
echo 'Installing yamllint...'
|
||||
pip3 install "yamllint==${yamllint_version}"
|
||||
uv pip install "yamllint==${yamllint_version}"
|
||||
|
||||
echo 'Installing Yamale...'
|
||||
pip3 install "yamale==${yamale_version}"
|
||||
uv pip install "yamale==${yamale_version}"
|
||||
fi
|
||||
|
||||
# https://github.com/helm/chart-testing-action/issues/62
|
||||
|
||||
10
.github/actions/tune-runner-vm/action.yml
vendored
10
.github/actions/tune-runner-vm/action.yml
vendored
@ -53,8 +53,8 @@ runs:
|
||||
# tune filesystem mount options, https://www.kernel.org/doc/Documentation/filesystems/ext4.txt
|
||||
# commit=999999, effectively disables automatic syncing to disk (default is every 5 seconds)
|
||||
# nobarrier/barrier=0, loosen data consistency on system crash (no negative impact to empheral CI nodes)
|
||||
sudo mount -o remount,nodiscard,commit=999999,barrier=0 /
|
||||
sudo mount -o remount,nodiscard,commit=999999,barrier=0 /mnt
|
||||
sudo mount -o remount,nodiscard,commit=999999,barrier=0 / || true
|
||||
sudo mount -o remount,nodiscard,commit=999999,barrier=0 /mnt || true
|
||||
# disable discard/trim at device level since remount with nodiscard doesn't seem to be effective
|
||||
# https://www.spinics.net/lists/linux-ide/msg52562.html
|
||||
for i in /sys/block/sd*/queue/discard_max_bytes; do
|
||||
@ -77,12 +77,6 @@ runs:
|
||||
# stop Azure Linux agent to save RAM
|
||||
sudo systemctl stop walinuxagent.service || true
|
||||
|
||||
# enable docker experimental mode which is
|
||||
# required for using "docker build --squash" / "-Ddocker.squash=true"
|
||||
daemon_json="$(sudo cat /etc/docker/daemon.json | jq '.experimental = true')"
|
||||
echo "$daemon_json" | sudo tee /etc/docker/daemon.json
|
||||
# restart docker daemon
|
||||
sudo systemctl restart docker
|
||||
echo '::endgroup::'
|
||||
|
||||
# show memory
|
||||
|
||||
25
.github/workflows/pulsar-helm-chart-ci.yaml
vendored
25
.github/workflows/pulsar-helm-chart-ci.yaml
vendored
@ -34,7 +34,7 @@ concurrency:
|
||||
jobs:
|
||||
preconditions:
|
||||
name: Preconditions
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
if: (github.event_name != 'schedule') || (github.repository == 'apache/pulsar-helm-chart')
|
||||
outputs:
|
||||
docs_only: ${{ steps.check_changes.outputs.docs_only }}
|
||||
@ -62,7 +62,7 @@ jobs:
|
||||
license-check:
|
||||
needs: preconditions
|
||||
name: License Check
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 10
|
||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||
steps:
|
||||
@ -83,7 +83,7 @@ jobs:
|
||||
ct-lint:
|
||||
needs: ['preconditions', 'license-check']
|
||||
name: chart-testing lint
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 45
|
||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||
steps:
|
||||
@ -107,13 +107,17 @@ jobs:
|
||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
version: v3.14.4
|
||||
version: v3.16.4
|
||||
|
||||
- name: Set up Python
|
||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.9'
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Install uv, a fast modern package manager for Python
|
||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||
run: curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
|
||||
- name: Set up chart-testing
|
||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||
@ -176,19 +180,20 @@ jobs:
|
||||
|
||||
install-chart-tests:
|
||||
name: ${{ matrix.testScenario.name }} - k8s ${{ matrix.k8sVersion.version }} - ${{ matrix.testScenario.type || 'install' }}
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: ${{ matrix.testScenario.timeout || 45 }}
|
||||
needs: ['preconditions', 'ct-lint']
|
||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# see https://github.com/kubernetes-sigs/kind/releases/tag/v0.22.0 for the list of supported k8s versions for kind 0.22.0
|
||||
# see https://github.com/kubernetes-sigs/kind/releases/tag/v0.27.0 for the list of supported k8s versions for kind 0.27.0
|
||||
# docker images are available at https://hub.docker.com/r/kindest/node/tags
|
||||
k8sVersion:
|
||||
- version: "1.23.17"
|
||||
kind_image_tag: v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3
|
||||
- version: "1.29.2"
|
||||
kind_image_tag: v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245
|
||||
- version: "1.32.2"
|
||||
kind_image_tag: v1.32.2@sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142f
|
||||
testScenario:
|
||||
- name: Upgrade latest released version
|
||||
values_file: .ci/clusters/values-upgrade.yaml
|
||||
@ -333,7 +338,7 @@ jobs:
|
||||
pulsar-helm-chart-ci-checks-completed:
|
||||
name: "CI checks completed"
|
||||
if: ${{ always() && ((github.event_name != 'schedule') || (github.repository == 'apache/pulsar-helm-chart')) }}
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 10
|
||||
needs: [
|
||||
'preconditions',
|
||||
|
||||
@ -25,14 +25,14 @@ fi
|
||||
|
||||
OUTPUT=${PULSAR_CHART_HOME}/output
|
||||
OUTPUT_BIN=${OUTPUT}/bin
|
||||
: "${KUBECTL_VERSION:=1.23.17}"
|
||||
: "${KUBECTL_VERSION:=1.28.15}"
|
||||
KUBECTL_BIN=$OUTPUT_BIN/kubectl
|
||||
HELM_BIN=$OUTPUT_BIN/helm
|
||||
: "${HELM_VERSION:=3.14.4}"
|
||||
: "${KIND_VERSION:=0.22.0}"
|
||||
: "${HELM_VERSION:=3.16.4}"
|
||||
: "${KIND_VERSION:=0.27.0}"
|
||||
KIND_BIN=$OUTPUT_BIN/kind
|
||||
CR_BIN=$OUTPUT_BIN/cr
|
||||
: "${CR_VERSION:=1.6.0}"
|
||||
: "${CR_VERSION:=1.7.0}"
|
||||
KUBECONFORM_BIN=$OUTPUT_BIN/kubeconform
|
||||
: "${KUBECONFORM_VERSION:=0.6.7}"
|
||||
export PATH="$OUTPUT_BIN:$PATH"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user