name: Helm Integration on: push: branches: [main] paths: - "deploy/helm/**" - ".github/workflows/helm-*.yml" - "docs/KUBERNETES.md" - "README.md" pull_request: paths: - "deploy/helm/**" - ".github/workflows/helm-*.yml" - "docs/KUBERNETES.md" - "README.md" workflow_dispatch: {} jobs: kind-smoke-test: name: Deploy to Kind and Smoke Test runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Helm uses: azure/setup-helm@v4 with: version: v3.15.2 - name: Create Kind cluster uses: helm/kind-action@v1.8.0 with: wait: 120s - name: Install Pulse chart run: | helm upgrade --install pulse ./deploy/helm/pulse \ --namespace pulse \ --create-namespace \ --set persistence.enabled=false \ --set server.secretEnv.create=true \ --set server.secretEnv.data.API_TOKENS=dummy-token \ --wait \ --timeout 5m - name: Verify deployment is available run: kubectl -n pulse wait --for=condition=available deployment/pulse --timeout=120s - name: Hit health endpoint from inside the cluster run: | kubectl -n pulse run smoke-test \ --rm \ --image=curlimages/curl:8.3.0 \ --restart=Never \ -- curl -fsS http://pulse:7655/health