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:
|
version:
|
||||||
description: "The chart-testing version to install"
|
description: "The chart-testing version to install"
|
||||||
required: false
|
required: false
|
||||||
default: v3.11.0
|
default: v3.12.0
|
||||||
yamllint_version:
|
yamllint_version:
|
||||||
description: "The yamllint version to install"
|
description: "The yamllint version to install"
|
||||||
required: false
|
required: false
|
||||||
default: '1.33.0'
|
default: '1.35.1'
|
||||||
yamale_version:
|
yamale_version:
|
||||||
description: "The yamale version to install"
|
description: "The yamale version to install"
|
||||||
required: false
|
required: false
|
||||||
default: '4.0.4'
|
default: '6.0.0'
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
steps:
|
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 nounset
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
DEFAULT_CHART_TESTING_VERSION=v3.11.0
|
DEFAULT_CHART_TESTING_VERSION=v3.12.0
|
||||||
DEFAULT_YAMLLINT_VERSION=1.33.0
|
DEFAULT_YAMLLINT_VERSION=1.35.1
|
||||||
DEFAULT_YAMALE_VERSION=4.0.4
|
DEFAULT_YAMALE_VERSION=6.0.0
|
||||||
|
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
case $ARCH in
|
case $ARCH in
|
||||||
@ -131,18 +131,24 @@ install_chart_testing() {
|
|||||||
tar -xzf ct.tar.gz -C "$cache_dir"
|
tar -xzf ct.tar.gz -C "$cache_dir"
|
||||||
rm -f ct.tar.gz
|
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...'
|
echo 'Creating virtual Python environment...'
|
||||||
python3 -m venv "$venv_dir"
|
uv venv "$venv_dir"
|
||||||
|
|
||||||
echo 'Activating virtual environment...'
|
echo 'Activating virtual environment...'
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "$venv_dir/bin/activate"
|
source "$venv_dir/bin/activate"
|
||||||
|
|
||||||
echo 'Installing yamllint...'
|
echo 'Installing yamllint...'
|
||||||
pip3 install "yamllint==${yamllint_version}"
|
uv pip install "yamllint==${yamllint_version}"
|
||||||
|
|
||||||
echo 'Installing Yamale...'
|
echo 'Installing Yamale...'
|
||||||
pip3 install "yamale==${yamale_version}"
|
uv pip install "yamale==${yamale_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# https://github.com/helm/chart-testing-action/issues/62
|
# 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
|
# 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)
|
# 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)
|
# 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 / || true
|
||||||
sudo mount -o remount,nodiscard,commit=999999,barrier=0 /mnt
|
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
|
# 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
|
# https://www.spinics.net/lists/linux-ide/msg52562.html
|
||||||
for i in /sys/block/sd*/queue/discard_max_bytes; do
|
for i in /sys/block/sd*/queue/discard_max_bytes; do
|
||||||
@ -77,12 +77,6 @@ runs:
|
|||||||
# stop Azure Linux agent to save RAM
|
# stop Azure Linux agent to save RAM
|
||||||
sudo systemctl stop walinuxagent.service || true
|
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::'
|
echo '::endgroup::'
|
||||||
|
|
||||||
# show memory
|
# 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:
|
jobs:
|
||||||
preconditions:
|
preconditions:
|
||||||
name: Preconditions
|
name: Preconditions
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
if: (github.event_name != 'schedule') || (github.repository == 'apache/pulsar-helm-chart')
|
if: (github.event_name != 'schedule') || (github.repository == 'apache/pulsar-helm-chart')
|
||||||
outputs:
|
outputs:
|
||||||
docs_only: ${{ steps.check_changes.outputs.docs_only }}
|
docs_only: ${{ steps.check_changes.outputs.docs_only }}
|
||||||
@ -62,7 +62,7 @@ jobs:
|
|||||||
license-check:
|
license-check:
|
||||||
needs: preconditions
|
needs: preconditions
|
||||||
name: License Check
|
name: License Check
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||||
steps:
|
steps:
|
||||||
@ -83,7 +83,7 @@ jobs:
|
|||||||
ct-lint:
|
ct-lint:
|
||||||
needs: ['preconditions', 'license-check']
|
needs: ['preconditions', 'license-check']
|
||||||
name: chart-testing lint
|
name: chart-testing lint
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||||
steps:
|
steps:
|
||||||
@ -107,13 +107,17 @@ jobs:
|
|||||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||||
uses: azure/setup-helm@v4
|
uses: azure/setup-helm@v4
|
||||||
with:
|
with:
|
||||||
version: v3.14.4
|
version: v3.16.4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
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
|
- name: Set up chart-testing
|
||||||
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
if: ${{ steps.check_changes.outputs.docs_only != 'true' }}
|
||||||
@ -176,19 +180,20 @@ jobs:
|
|||||||
|
|
||||||
install-chart-tests:
|
install-chart-tests:
|
||||||
name: ${{ matrix.testScenario.name }} - k8s ${{ matrix.k8sVersion.version }} - ${{ matrix.testScenario.type || 'install' }}
|
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 }}
|
timeout-minutes: ${{ matrix.testScenario.timeout || 45 }}
|
||||||
needs: ['preconditions', 'ct-lint']
|
needs: ['preconditions', 'ct-lint']
|
||||||
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
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:
|
k8sVersion:
|
||||||
- version: "1.23.17"
|
- version: "1.23.17"
|
||||||
kind_image_tag: v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3
|
kind_image_tag: v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3
|
||||||
- version: "1.29.2"
|
- version: "1.32.2"
|
||||||
kind_image_tag: v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245
|
kind_image_tag: v1.32.2@sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142f
|
||||||
testScenario:
|
testScenario:
|
||||||
- name: Upgrade latest released version
|
- name: Upgrade latest released version
|
||||||
values_file: .ci/clusters/values-upgrade.yaml
|
values_file: .ci/clusters/values-upgrade.yaml
|
||||||
@ -333,7 +338,7 @@ jobs:
|
|||||||
pulsar-helm-chart-ci-checks-completed:
|
pulsar-helm-chart-ci-checks-completed:
|
||||||
name: "CI checks completed"
|
name: "CI checks completed"
|
||||||
if: ${{ always() && ((github.event_name != 'schedule') || (github.repository == 'apache/pulsar-helm-chart')) }}
|
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
|
timeout-minutes: 10
|
||||||
needs: [
|
needs: [
|
||||||
'preconditions',
|
'preconditions',
|
||||||
|
|||||||
@ -25,14 +25,14 @@ fi
|
|||||||
|
|
||||||
OUTPUT=${PULSAR_CHART_HOME}/output
|
OUTPUT=${PULSAR_CHART_HOME}/output
|
||||||
OUTPUT_BIN=${OUTPUT}/bin
|
OUTPUT_BIN=${OUTPUT}/bin
|
||||||
: "${KUBECTL_VERSION:=1.23.17}"
|
: "${KUBECTL_VERSION:=1.28.15}"
|
||||||
KUBECTL_BIN=$OUTPUT_BIN/kubectl
|
KUBECTL_BIN=$OUTPUT_BIN/kubectl
|
||||||
HELM_BIN=$OUTPUT_BIN/helm
|
HELM_BIN=$OUTPUT_BIN/helm
|
||||||
: "${HELM_VERSION:=3.14.4}"
|
: "${HELM_VERSION:=3.16.4}"
|
||||||
: "${KIND_VERSION:=0.22.0}"
|
: "${KIND_VERSION:=0.27.0}"
|
||||||
KIND_BIN=$OUTPUT_BIN/kind
|
KIND_BIN=$OUTPUT_BIN/kind
|
||||||
CR_BIN=$OUTPUT_BIN/cr
|
CR_BIN=$OUTPUT_BIN/cr
|
||||||
: "${CR_VERSION:=1.6.0}"
|
: "${CR_VERSION:=1.7.0}"
|
||||||
KUBECONFORM_BIN=$OUTPUT_BIN/kubeconform
|
KUBECONFORM_BIN=$OUTPUT_BIN/kubeconform
|
||||||
: "${KUBECONFORM_VERSION:=0.6.7}"
|
: "${KUBECONFORM_VERSION:=0.6.7}"
|
||||||
export PATH="$OUTPUT_BIN:$PATH"
|
export PATH="$OUTPUT_BIN:$PATH"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user