Skip to content

Lint and Test Charts #492

Lint and Test Charts

Lint and Test Charts #492

name: Lint and Test Charts
on:
workflow_dispatch:
push:
branches:
- main
paths:
- 'charts/**'
pull_request:
paths-ignore:
- '.github/**'
- 'README.md'
jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Helm
uses: azure/setup-helm@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Install Helm Docs
uses: action-stars/install-tool-from-github-release@9019d0a3125e2f45a48858afb632e6dbef663d79 # v0.2.2
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 XXXXXXX
run: |
#!/usr/bin/env bash
set -euo pipefail
for charts in `find . -name 'Chart.yaml' -type f | xargs -I{} dirname {}`; do
printf "\n\n##### CHECKING $charts #####\n";
done
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: Set up chart-testing
uses: helm/chart-testing-action@v2.2.1
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
# echo "::set-output name=changed::true"
echo name=changed::true" >> $GITHUB_OUTPUT
else
# echo "::set-output name=changed::false"
echo name=changed::false" >> $GITHUB_OUTPUT
fi
# you MUST increase the version of the chart, otherwise chart-releaser will fail
- name: Run chart-testing (lint)
run: |
#if [ "${{ steps.list-changed.outputs.changed }}" = true ]; then
# echo "checking changed charts only"
ct lint --debug --target-branch ${{ github.event.repository.default_branch }}
#else
# echo "checking ALL charts"
# ct lint --all --debug --target-branch ${{ github.event.repository.default_branch }}
#fi