Skip to content

chore(deps): update github actions #1671

chore(deps): update github actions

chore(deps): update github actions #1671

Workflow file for this run

name: Lint and Test Charts
on:
pull_request:
branches: [master]
permissions: read-all
# https://stackoverflow.com/a/72408109
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
lint:
runs-on: ubuntu-24.04
container: ghcr.io/chgl/kube-powertools:v2.3.30@sha256:b7e588f30df97635c271e49ebd15e84c3d2845a67f0eaf20e9c273ad269b2964
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit # change to 'egress-policy: block' after couple of runs
disable-sudo: true
disable-telemetry: true
- name: Add workspace as safe directory
run: |
git config --global --add safe.directory /__w/charts/charts
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
# via <https://github.com/helm/chart-testing/issues/577>
- run: |
git branch "master" "origin/master"
- name: Check if documentation is up-to-date
run: |
generate-docs.sh
if git diff --exit-code HEAD; then
echo -e "\033[0;32mDocumentation up to date\033[0m ✔"
else
echo -e "\033[0;31mDocumentation outdated! Please run generate-docs.sh locally and push the changes.\033[0m ❌"
git diff --color
exit 1
fi
- name: Update dependencies
run: find charts/ ! -path charts/ -maxdepth 1 -type d -exec helm dependency update {} \;
- name: Run YAML lint
run: yamllint .
- name: Run chart-testing (lint)
run: ct lint --config .github/ct/ct.yaml
- name: Run ArtifactHub lint
run: ah lint --kind=helm
- name: Cache kubeconform schemas
id: cache-powerlint-kubeconform
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
with:
path: /tmp
key: ${{ runner.os }}-powerlint-kubeconform
- name: Run Powerlint
env:
KUBERNETES_VERSIONS: "1.29.0 1.30.0 1.31.0"
run: chart-powerlint.sh
# used to test whether the changelog generation process works
- name: Generate changelogs (test)
run: generate-chart-changelog.sh
test:
runs-on: ubuntu-24.04
needs:
- lint
strategy:
matrix:
k8s-version: [1.29.8, 1.30.4, 1.31.1]
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit # change to 'egress-policy: block' after couple of runs
disable-sudo: true
disable-telemetry: true
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config .github/ct/install.yaml)
if [[ -n "$changed" ]]; then
echo "changed=true" >> "${GITHUB_OUTPUT}"
fi
- name: Create k8s Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
if: ${{steps.list-changed.outputs.changed == 'true'}}
with:
cluster_name: kind-cluster-k8s-${{ matrix.k8s-version }}
node_image: kindest/node:v${{ matrix.k8s-version }}
- name: Run chart-testing (install)
if: ${{steps.list-changed.outputs.changed == 'true'}}
run: ct install --config .github/ct/install.yaml