Skip to content

Commit ab5c96d

Browse files
committed
Add Helm smoke test workflow
- Introduce a GitHub Actions workflow for DevLake Helm chart smoke testing. - Set up a temporary Kubernetes cluster with kind, install the Helm chart, and verify core services. - Incorporate health checks for Grafana and connected MySQL datasource. - Provide detailed diagnostics on failure to assist troubleshooting. Signed-off-by: kahirokunn <okinakahiro@gmail.com>
1 parent d81a0ae commit ab5c96d

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

.github/workflows/smoke-test.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: DevLake Helm Smoke Test
2+
3+
on:
4+
push:
5+
branches: [ "**" ]
6+
pull_request:
7+
branches: [ "**" ]
8+
9+
jobs:
10+
smoke-test:
11+
name: Smoke Test
12+
runs-on: ubuntu-latest
13+
timeout-minutes: 45
14+
env:
15+
RELEASE_NAME: devlake
16+
NAMESPACE: devlake
17+
GRAFANA_ADMIN_PASSWORD: admin
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v5
21+
22+
- name: Set up Helm
23+
uses: azure/setup-helm@v4
24+
25+
- name: Create kind cluster
26+
uses: helm/kind-action@v1.12.0
27+
with:
28+
cluster_name: devlake-e2e
29+
30+
- name: Set up kubectl
31+
uses: azure/setup-kubectl@v4
32+
33+
- name: Build chart dependencies (local)
34+
run: |
35+
helm dependency build charts/devlake
36+
37+
- name: Install DevLake chart (with Grafana)
38+
run: |
39+
ENCRYPTION_SECRET=$(openssl rand -base64 2000 | tr -dc 'A-Z' | fold -w 128 | head -n 1)
40+
set -euo pipefail
41+
helm install "$RELEASE_NAME" ./charts/devlake \
42+
--namespace "$NAMESPACE" \
43+
--create-namespace \
44+
--wait \
45+
--timeout 25m \
46+
--set lake.encryptionSecret.secret="${ENCRYPTION_SECRET}" \
47+
--set grafana.adminPassword="${GRAFANA_ADMIN_PASSWORD}"

0 commit comments

Comments
 (0)