Skip to content

chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 in the all-updates group #358

chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 in the all-updates group

chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 in the all-updates group #358

Workflow file for this run

name: Helm Chart CI (HTTP add-on)
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
paths:
- ".github/workflows/ci-http-add-on.yml"
- "http-add-on/**"
pull_request:
branches:
- main
paths:
- ".github/workflows/ci-http-add-on.yml"
- "http-add-on/**"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint-helm-3-x:
name: Lint Helm Chart
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
- name: Helm install
uses: Azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
- name: Lint 'http-add-on' Helm chart
run: helm lint http-add-on
deploy-helm-3-x:
name: Deploy to Kubernetes ${{ matrix.kubernetesVersion }}
needs: lint-helm-3-x
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
kubernetesVersion: [v1.33, v1.32, v1.31]
include:
- kubernetesVersion: v1.33
kindImage: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
- kubernetesVersion: v1.32
kindImage: kindest/node:v1.32.8@sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1
- kubernetesVersion: v1.31
kindImage: kindest/node:v1.31.12@sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2
steps:
- name: Check out code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
- name: Helm install
uses: Azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster
uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0
with:
node_image: ${{ matrix.kindImage }}
- name: Show Kubernetes version
run: |
kubectl version
- name: Show Kubernetes nodes
run: |
kubectl get nodes -o wide
- name: Show Helm version
run: |
helm version
- name: Create KEDA namespace
run: kubectl create ns keda
- name: Generate values
run: |
cat <<EOF > keda-values.yaml
image:
keda:
tag: main
metricsApiServer:
tag: main
webhooks:
tag: main
- name: Install KEDA chart
run: helm install keda ./keda/ --namespace keda --values keda-values.yaml
- name: Generate values
run: |
cat <<EOF > test-values.yaml
additionalLabels:
random: value
images:
tag: canary
rbac:
aggregateToDefaultRoles: true
operator:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app.kubernetes.io/component: operator
app.kubernetes.io/instance: http-add-on
app.kubernetes.io/name: http-add-on
scaler:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app.kubernetes.io/component: operator
app.kubernetes.io/instance: http-add-on
app.kubernetes.io/name: http-add-on
interceptor:
replicas:
min: 1
proxy:
appProtocol: ""
EOF
- name: Template Helm chart
run: helm template http-add-on ./http-add-on/ --namespace keda --values test-values.yaml
- name: Install Helm chart
run: helm install http-add-on ./http-add-on/ --namespace keda --values test-values.yaml --wait
- name: Show Kubernetes resources
run: kubectl get all --namespace keda
if: always()
- name: Get all HTTPScaledObjects
run: kubectl get httpscaledobjects
- name: Get all CRDs
run: kubectl get crds
- name: Get HTTPScaledObject CRD
run: kubectl get crds/httpscaledobjects.http.keda.sh
- name: Describe HTTPScaledObject CRD
run: kubectl describe crds/httpscaledobjects.http.keda.sh
- name: Validate Interceptor ScaledObject
run: |
for N in {1..3}
do
READY=$(kubectl get so/keda-add-ons-http-interceptor -n keda -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}')
echo "ScaledObjet is ready: $READY"
if [[ "$READY" == "True" ]]; then
exit 0
fi
sleep 15s
done
exit 1