feat(chart): automate helm json schema #524
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint and Test Chart | |
on: | |
pull_request: | |
paths: | |
- "charts/external-dns/**" | |
jobs: | |
lint-test: | |
if: github.repository == 'kubernetes-sigs/external-dns' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Install Helm | |
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0 | |
with: | |
token: ${{ github.token }} | |
version: latest | |
- name: Run Helm Schema check | |
working-directory: charts/external-dns | |
run: | | |
set -euo pipefail | |
helm plugin install https://github.com/losisin/helm-values-schema-json.git | |
helm schema | |
if [[ -n "$(git status --porcelain --untracked-files=no)" ]] | |
then | |
echo "Schema not up to date. Please run helm schema and commit changes!" >&2 | |
exit 1 | |
fi | |
- name: Install Helm Docs | |
uses: action-stars/install-tool-from-github-release@ece2623611b240002e0dd73a0d685505733122f6 # v0.2.4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
owner: norwoodj | |
repository: helm-docs | |
arch_amd64: x86_64 | |
os_linux: Linux | |
check_command: helm-docs --version | |
version: latest | |
- name: Run Helm Docs check | |
run: | | |
set -euo pipefail | |
helm-docs | |
if [[ -n "$(git status --porcelain --untracked-files=no)" ]] | |
then | |
echo "Documentation not up to date. Please run helm-docs and commit changes!" >&2 | |
exit 1 | |
fi | |
- name: Install Artifact Hub CLI | |
uses: action-stars/install-tool-from-github-release@ece2623611b240002e0dd73a0d685505733122f6 # v0.2.4 | |
with: | |
github_token: ${{ github.token }} | |
owner: artifacthub | |
repository: hub | |
name: ah | |
check_command: ah version | |
version: latest | |
- name: Run Artifact Hub lint | |
run: ah lint --kind helm || exit 1 | |
- name: Install Python | |
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 | |
with: | |
token: ${{ github.token }} | |
python-version: "3.x" | |
- name: Set-up chart-testing | |
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0 | |
- name: Check for changes | |
id: changes | |
run: | | |
changed=$(ct list-changed --target-branch=master) | |
if [[ -n "$changed" ]]; then | |
echo "changed=true" >> "${GITHUB_OUTPUT}" | |
fi | |
- name: Run chart-testing lint | |
run: ct lint --target-branch=master --check-version-increment=false | |
- name: Create Kind cluster | |
if: steps.changes.outputs.changed == 'true' | |
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0 | |
with: | |
wait: 120s | |
- name: Run chart-testing install | |
if: steps.changes.outputs.changed == 'true' | |
run: ct install --target-branch=master |