Skip to content

chart version bump for LTS patch #11

chart version bump for LTS patch

chart version bump for LTS patch #11

name: Standard Chart Tests
on:
pull_request:
branches:
- master
workflow_dispatch:
env:
KUBE_SCORE_VERSION: 1.10.0
HELM_VERSION: v4.1.1
jobs:
# ── Job 1: Lint ────────────────────────────────────────────────────────────
# Runs helm lint, kube-score, and ct lint.
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4.2.0
with:
version: ${{ env.HELM_VERSION }}
- name: Set up kube-score
run: |
wget https://github.com/zegl/kube-score/releases/download/v${{ env.KUBE_SCORE_VERSION }}/kube-score_${{ env.KUBE_SCORE_VERSION }}_linux_amd64 -O kube-score
chmod 755 kube-score
- name: Kube-score generated manifests
run: helm template charts/* | ./kube-score score -
--ignore-test pod-networkpolicy
--ignore-test deployment-has-poddisruptionbudget
--ignore-test deployment-has-host-podantiaffinity
--ignore-test container-security-context
--ignore-test container-resources
--ignore-test pod-probes
--ignore-test container-image-tag
--enable-optional-test container-security-context-privileged
- uses: actions/setup-python@v5.3.0
with:
python-version: 3.13.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
with:
version: v3.10.1
- name: Run chart-testing (lint)
run: ct lint --config .ci/ct-config.yaml
# ── Job 2: Template tests ──────────────────────────────────────────────────
# Runs in parallel with lint. Uses `helm template` to render the chart with
# each feature enabled and asserts the output is correct. No cluster needed.
template-tests:
name: Template Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4.2.0
with:
version: ${{ env.HELM_VERSION }}
- name: Run template tests
run: bash .ci/scripts/template-tests.sh
# ── Job 3: Install tests (matrix) ─────────────────────────────────────────
# Always runs. Each k8s version gets its own runner so all four run in
# parallel. Cancelled on first failure.
install-test:
name: Install / k8s ${{ matrix.k8s-version }}
runs-on: ubuntu-latest
needs: [lint, template-tests]
strategy:
fail-fast: true
matrix:
include:
# Refer to https://github.com/kubernetes-sigs/kind/releases when updating node_images
- k8s-version: "1.32"
node_image: kindest/node:v1.32.11@sha256:5fc52d52a7b9574015299724bd68f183702956aa4a2116ae75a63cb574b35af8
- k8s-version: "1.33"
node_image: kindest/node:v1.33.7@sha256:d26ef333bdb2cbe9862a0f7c3803ecc7b4303d8cea8e814b481b09949d353040
- k8s-version: "1.34"
node_image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
- k8s-version: "1.35"
node_image: kindest/node:v1.35.0@sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4.2.0
with:
version: ${{ env.HELM_VERSION }}
- uses: actions/setup-python@v5.3.0
with:
python-version: 3.13.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
with:
version: v3.10.1
- name: Create kind cluster (k8s ${{ matrix.k8s-version }})
uses: helm/kind-action@v1.14.0
with:
node_image: ${{ matrix.node_image }}
cluster_name: kubernetes-${{ matrix.k8s-version }}
- name: Run chart-testing (install)
run: ct install --config .ci/ct-config.yaml
# ── Job 4: Report status ───────────────────────────────────────────────────
# Always runs. Fails if any upstream job failed or was cancelled.
report-status:
name: validate
runs-on: ubuntu-latest
if: always()
needs: [lint, template-tests, install-test]
steps:
- name: Report
run: |
results='${{ toJSON(needs) }}'
echo "Job results: $results"
if echo "$results" | grep -q '"result": "failure"'; then
echo "One or more jobs failed"
exit 1
fi
if echo "$results" | grep -q '"result": "cancelled"'; then
echo "One or more jobs were cancelled"
exit 1
fi
echo "All jobs passed"