diff --git a/.github/workflows/release_helm_gateway.yaml b/.github/workflows/release_helm_gateway.yaml index 1b067bd73..85f61c4c6 100644 --- a/.github/workflows/release_helm_gateway.yaml +++ b/.github/workflows/release_helm_gateway.yaml @@ -1,27 +1,70 @@ name: Release Gateway Helm Chart on: - workflow_dispatch: + workflow_dispatch: jobs: - release-helm: - name: Release Helm Chart - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 + test-helm: + name: Test Helm Chart + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 - - name: Install Helm - uses: azure/setup-helm@v3 - with: - version: v3.10.0 + - name: Set up Helm + uses: azure/setup-helm@v4.2.0 + with: + version: v3.17.0 - - name: Install python - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5.3.0 + with: + python-version: "3.x" + check-latest: true - - name: Install Cloudsmith CLI - run: pip install --upgrade cloudsmith-cli + - name: Set up chart-testing + uses: helm/chart-testing-action@v2.7.0 - - 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 }} + - 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 -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 }}