add support for lint and test locally #42
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: Test | |
on: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/setup-helm@v3 | |
with: | |
version: v3.11.2 | |
- name: Install Unittesting Plugin | |
run: | | |
helm plugin install \ | |
https://github.com/helm-unittest/helm-unittest.git | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@v2 | |
with: | |
version: v3.8.0 | |
- name: Create kind cluster | |
uses: helm/kind-action@v1 | |
- name: Install cert-manager and Traefik | |
run: | | |
helm repo add jetstack https://charts.jetstack.io | |
helm repo add traefik https://helm.traefik.io/traefik | |
helm repo update | |
helm install cert-manager jetstack/cert-manager \ | |
--namespace cert-manager --create-namespace \ | |
--set installCRDs=true \ | |
--set extraArgs[0]=--enable-certificate-owner-ref=true \ | |
--wait | |
helm install traefik traefik/traefik \ | |
--namespace=traefik --create-namespace \ | |
- name: Run chart-testing (install) | |
run: | | |
# chart-testing is a little confusing in that if you don't explicitly | |
# tell which charts you want tested, it will enforce that the charts | |
# need to have changed. There is no other option to disable it. | |
ct lint-and-install \ | |
--charts charts/s3gw \ | |
--target-branch ${GITHUB_REF_NAME} \ | |
--helm-extra-args="--timeout=500s" \ | |
--additional-commands="helm unittest --strict charts/s3gw" \ | |
--validate-maintainers=false \ | |
--debug |