Skip to content

Testing helm chart linter and installer #46

Testing helm chart linter and installer

Testing helm chart linter and installer #46

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: |
echo "Install cert-manager and so on ..."
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 --target-versions k8s=v1.27.0 -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 --target-versions k8s=v1.28.0 -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 --target-versions k8s=v1.29.0 -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 --target-versions k8s=v1.30.0 -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 --target-versions k8s=v1.31.0 -o wide -
- name: Run chart-testing (install)
continue-on-error: true
run: ct install --config ct.yaml