feat: Ship Helm chart v1.12.0 #48
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: Helm Chart CI (PR) | |
on: | |
pull_request: | |
branches: | |
- 'main' | |
workflow_dispatch: | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
lint-helm: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Helm install | |
uses: Azure/setup-helm@v1 | |
- name: Lint 'azure-api-management-gateway' Helm chart (Gateway Token) | |
# We are using dummy gateway parameters here just to show how you can pass them as they are required | |
run: helm lint helm-charts/azure-api-management-gateway --set gateway.configuration.uri="xyz.configuration.azure-api.net" --set gateway.auth.key="GatewayKey xyz" | |
- name: Lint 'azure-api-management-gateway' Helm chart (Azure AD App) | |
# We are using dummy gateway parameters here just to show how you can pass them as they are required | |
run: helm lint helm-charts/azure-api-management-gateway --set gateway.configuration.uri="xyz.configuration.azure-api.net" --set gateway.auth.type="AzureAdApp" --set gateway.name=gateway-name --set gateway.auth.azureAd.tenant.id=ci-tenant-id --set gateway.auth.azureAd.app.id=ci-app-id --set gateway.auth.azureAd.app.secret=xyz | |
deploy-helm: | |
runs-on: ubuntu-latest | |
needs: lint-helm | |
strategy: | |
fail-fast: false | |
matrix: | |
enableHighAvailability: [false, true] | |
kubernetesVersion: [v1.32, v1.31, v1.30, v1.29] | |
include: | |
# Images are defined on every Kind release | |
# See https://github.com/kubernetes-sigs/kind/releases for an overview of the images | |
- kubernetesVersion: v1.32 | |
kindImage: kindest/node:v1.32.0@sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027 | |
- kubernetesVersion: v1.31 | |
kindImage: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30 | |
- kubernetesVersion: v1.30 | |
kindImage: kindest/node:v1.30.8@sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bf | |
- kubernetesVersion: v1.29 | |
kindImage: kindest/node:v1.29.12@sha256:62c0672ba99a4afd7396512848d6fc382906b8f33349ae68fb1dbfe549f70dec | |
name: Deploy to Kubernetes ${{ matrix.kubernetesVersion }} (${{ (matrix.enableHighAvailability == true && 'With HA') || 'Without HA' }}) | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Helm install | |
uses: Azure/setup-helm@v1 | |
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.13.0 | |
node_image: ${{ matrix.kindImage }} | |
config: ./testing/kind-cluster.yml | |
- name: Show Kubernetes version | |
run: | | |
kubectl version | |
- name: Show Kubernetes nodes | |
run: | | |
kubectl get nodes -o wide | |
- name: Describe Control-Plane Node | |
run: | | |
kubectl describe nodes/chart-testing-control-plane | |
- name: Describe Worker Node | |
run: | | |
kubectl describe nodes/chart-testing-worker | |
- name: Show Kubernetes nodes | |
run: | | |
kubectl get nodes -o wide | |
- name: Show Helm version | |
run: | | |
helm version | |
- name: Create Kubernetes namespace | |
run: kubectl create ns apim-gateway | |
- name: Template Helm chart | |
run: helm install azure-api-management-gateway ./helm-charts/azure-api-management-gateway --namespace apim-gateway --set gateway.configuration.uri="xyz.configuration.azure-api.net" --set gateway.auth.key="xyz" --set highAvailability.enabled=${{ matrix.enableHighAvailability }} --set gateway.deployment.strategy.type=Recreate --values ./testing/test-config.yml --dry-run | |
- name: Install Helm chart | |
run: helm install azure-api-management-gateway ./helm-charts/azure-api-management-gateway --namespace apim-gateway --set gateway.configuration.uri="xyz.configuration.azure-api.net" --set gateway.auth.key="xyz" --set highAvailability.enabled=${{ matrix.enableHighAvailability }} --set gateway.deployment.strategy.type=Recreate --values ./testing/test-config.yml --wait --timeout 10m0s | |
- name: Show Kubernetes resources | |
run: kubectl get all --namespace apim-gateway | |
if: always() | |
- name: Show Logs for Self-Hosted Gateway | |
run: kubectl logs -l app.kubernetes.io/name=azure-api-management-gateway --namespace apim-gateway | |
if: always() |