chore: Improve the CI on PRs to be more efficient #40
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 (External Scalers - Azure Cosmos DB) | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- .github/workflows/ci-external-scaler-azure-cosmos-db.yml | |
- external-scaler-azure-cosmos-db/** | |
pull_request: | |
branches: | |
- main | |
paths: | |
- .github/workflows/ci-external-scaler-azure-cosmos-db.yml | |
- external-scaler-azure-cosmos-db/** | |
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@v2 | |
- name: Helm install | |
uses: Azure/setup-helm@v3 | |
- name: Lint 'Azure Cosmos DB external scaler' Helm chart | |
run: helm lint ./external-scaler-azure-cosmos-db/ --strict | |
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.24, v1.19] | |
include: | |
# Images are defined on every Kind release | |
# See https://github.com/kubernetes-sigs/kind/releases | |
- kubernetesVersion: v1.24 | |
kindImage: kindest/node:v1.24.0@sha256:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1 | |
- kubernetesVersion: v1.19 | |
kindImage: kindest/node:v1.19.16@sha256:dec41184d10deca01a08ea548197b77dc99eeacb56ff3e371af3193c86ca99f4 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Helm install | |
uses: Azure/setup-helm@v3 | |
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster | |
uses: helm/kind-action@v1.2.0 | |
with: | |
version: v0.13.0 | |
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: Template Helm chart | |
run: helm template test-release ./external-scaler-azure-cosmos-db/ --namespace test-namespace | |
- name: Install Helm chart | |
run: helm install test-release ./external-scaler-azure-cosmos-db/ --namespace test-namespace --create-namespace --wait --timeout=2m | |
- name: Show Kubernetes resources | |
run: kubectl get all --namespace keda | |
if: always() | |
- name: Get 'Azure Cosmos DB external scaler' service | |
run: kubectl get service external-scaler-azure-cosmos-db --namespace=test-namespace | |
- name: Get 'Azure Cosmos DB external scaler' deployment | |
run: kubectl get deployment external-scaler-azure-cosmos-db --namespace=test-namespace | |
- name: Uninstall 'Azure Cosmos DB external scaler' Helm chart | |
run: helm uninstall test-release --namespace test-namespace |