name: Release Gateway Helm Chart on: workflow_dispatch: jobs: test-helm: name: Test Helm Chart runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Helm uses: azure/setup-helm@v4.2.0 with: version: v3.17.0 - uses: actions/setup-python@v5.3.0 with: python-version: "3.x" check-latest: true - name: Set up chart-testing uses: helm/chart-testing-action@v2.7.0 with: yamale_version: "6.0.0" - name: Run chart-testing (lint) run: ct lint --config ct.yaml --charts helm-charts/infisical-gateway - name: Create kind cluster uses: helm/kind-action@v1.12.0 - name: Create namespace run: kubectl create namespace infisical-gateway - name: Create gateway secret run: kubectl create secret generic infisical-gateway-environment --from-literal=TOKEN=my-test-token --from-literal=INFISICAL_RELAY_NAME=my-test-relay -n infisical-gateway - name: Run chart-testing (install) run: | ct install \ --config ct.yaml \ --charts helm-charts/infisical-gateway \ --helm-extra-args="--timeout=300s" \ --namespace infisical-gateway release-helm: name: Release Helm Chart needs: test-helm runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Helm uses: azure/setup-helm@v3 with: version: v3.10.0 - name: Install python uses: actions/setup-python@v4 - name: Install Cloudsmith CLI run: pip install --upgrade cloudsmith-cli - name: Build and push helm package to CloudSmith run: cd helm-charts && sh upload-gateway-cloudsmith.sh env: CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}