name: Test Chart on: push: pull_request: jobs: test-e2e: name: Run on Ubuntu runs-on: ubuntu-latest steps: - name: Clone the code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Install the latest version of kind run: | curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-$(go env GOARCH) chmod +x ./kind sudo mv ./kind /usr/local/bin/kind - name: Verify kind installation run: kind version - name: Create kind cluster run: kind create cluster - name: Prepare project-v4-with-plugins run: | go mod tidy make docker-build IMG=project-v4-with-plugins:v0.1.0 kind load docker-image project-v4-with-plugins:v0.1.0 - name: Install Helm run: | curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash - name: Verify Helm installation run: helm version - name: Lint Helm Chart run: | helm lint ./dist/chart - name: Install cert-manager via Helm (wait for readiness) run: | helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --set crds.enabled=true \ --wait \ --timeout 300s # TODO: Uncomment if Prometheus is enabled # - name: Install Prometheus Operator CRDs # run: | # helm repo add prometheus-community https://prometheus-community.github.io/helm-charts # helm repo update # helm install prometheus-crds prometheus-community/prometheus-operator-crds - name: Install Helm chart for project run: | helm install my-release ./dist/chart --create-namespace --namespace project-v4-with-plugins-system - name: Check Helm release status run: | helm status my-release --namespace project-v4-with-plugins-system