Testing helm chart linter and installer #45
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 Charts | |
on: | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
lint-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/[email protected] | |
with: | |
version: v3.13.0 | |
- name: Setup polaris | |
uses: fairwindsops/polaris/.github/actions/setup-polaris@master | |
with: | |
version: 9.5.0 | |
- name: Setup Pluto | |
uses: FairwindsOps/pluto/github-action@master | |
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and | |
# yamllint (https://github.com/adrienverge/yamllint) which require Python | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version: 3.x | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --config ct.yaml) | |
if [[ -n "$changed" ]]; then | |
echo "changed=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Run chart-testing (lint) | |
run: ct lint --config ct.yaml --lint-conf lintconf.yaml --chart-yaml-schema chart_schema.yaml --debug | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
if: steps.list-changed.outputs.changed == 'true' | |
- run: | | |
kubectl cluster-info | |
kubectl get nodes -v=6 | |
helm version | |
helm repo add jetstack https://charts.jetstack.io --force-update | |
helm upgrade --install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.14.2 --set installCRDs=true --set enableCertificateOwnerRef=true | |
helm repo add fairwinds-stable https://charts.fairwinds.com/stable --force-update | |
helm upgrade --install polaris fairwinds-stable/polaris --namespace demo --create-namespace --set webhook.enable=false --set dashboard.enable=false | |
- name: Use polaris for checking helm chart manifests | |
continue-on-error: true | |
run: | | |
pwd | |
polaris audit --helm-chart /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --helm-values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml --format=pretty --quiet | |
- name: Use pluto for checking helm chart manifests | |
continue-on-error: true | |
run: | | |
pwd | |
helm template /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml | pluto detect --against-version 1.27 -o wide - | |
helm template /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml | pluto detect --against-version 1.28 -o wide - | |
helm template /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml | pluto detect --against-version 1.29 -o wide - | |
helm template /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml | pluto detect --against-version 1.30 -o wide - | |
helm template /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer --values /home/runner/work/adcs-issuer/adcs-issuer/charts/adcs-issuer/values.yaml | pluto detect --against-version 1.31 -o wide - | |
- name: Run chart-testing (install) | |
continue-on-error: true | |
run: ct install --config ct.yaml | |