Skip to content

Commit 34d227c

Browse files
authored
ci: add github action to validate template files on PR (#135)
* ci: add makefile and actions to validate * chore: update lock files * chore: add build binary to gitignore
1 parent 395461c commit 34d227c

File tree

10 files changed

+102
-11
lines changed

10 files changed

+102
-11
lines changed

.github/workflows/validate.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Validate Charts
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'stable/**'
7+
- '.github/workflows/lint.yml'
8+
- 'Makefile'
9+
10+
jobs:
11+
validate-charts:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v3
16+
17+
- name: Set up Helm
18+
uses: azure/setup-helm@v3
19+
with:
20+
version: 'latest'
21+
22+
- name: Add Raystack Helm repository
23+
run: |
24+
helm repo add raystack https://raystack.github.io/charts/
25+
helm repo update
26+
27+
- name: Build dependencies for charts
28+
run: make deps
29+
30+
- name: Validate chart templates
31+
run: make template-all

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,8 @@
1414
# Dependency directories (remove the comment below to include it)
1515
# vendor/
1616
.idea/
17-
.DS_Store
17+
.DS_Store
18+
19+
# Helm dependencies
20+
**/charts/*.tgz
21+
**/charts/*.tar.gz

Makefile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
.PHONY: template-all deps deps-update
2+
3+
# Build dependencies from lock files (for CI)
4+
deps:
5+
@for chart in stable/*/; do \
6+
if [ -f "$${chart}Chart.yaml" ] && [ -f "$${chart}Chart.lock" ]; then \
7+
chart_name=$$(basename "$$chart"); \
8+
echo "Building dependencies for $$chart_name..."; \
9+
helm dependency build "$$chart"; \
10+
fi; \
11+
done
12+
13+
# Update dependencies and refresh lock files (for development)
14+
deps-update:
15+
@for chart in stable/*/; do \
16+
if [ -f "$${chart}Chart.yaml" ]; then \
17+
if grep -q "dependencies:" "$${chart}Chart.yaml"; then \
18+
chart_name=$$(basename "$$chart"); \
19+
echo "Updating dependencies for $$chart_name..."; \
20+
helm dependency update "$$chart"; \
21+
fi; \
22+
fi; \
23+
done
24+
25+
template-all:
26+
@failed=0; \
27+
for chart in stable/*/; do \
28+
if [ -f "$${chart}Chart.yaml" ]; then \
29+
chart_name=$$(basename "$$chart"); \
30+
echo "Validating $$chart_name..."; \
31+
if helm template test-release "$$chart" > /dev/null 2>&1; then \
32+
echo "$$chart_name rendered successfully"; \
33+
else \
34+
echo "$$chart_name failed to render:"; \
35+
helm template test-release "$$chart"; \
36+
failed=1; \
37+
fi; \
38+
echo ""; \
39+
fi; \
40+
done; \
41+
if [ $$failed -eq 1 ]; then \
42+
echo "Some charts failed validation"; \
43+
exit 1; \
44+
fi

stable/compass/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ dependencies:
22
- name: app
33
repository: https://raystack.github.io/charts/
44
version: 0.4.2
5-
digest: sha256:5f0def8abcf2a1a197cbb9a63e06fb5076e34635b398011ce253dc84b5af3f75
6-
generated: "2022-10-27T16:42:43.502785+07:00"
5+
digest: sha256:4cdeba93c205ec0c6dce310a98a019e3275086413820cd2bc236d601047e4e99
6+
generated: "2025-09-02T13:32:24.810017+05:30"

stable/dex/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ dependencies:
22
- name: app
33
repository: https://raystack.github.io/charts/
44
version: 0.4.0
5-
digest: sha256:e2d509925ddf8581f7b2a65bf0a37187ed8fde3a50d3e386a442ad34c60f8795
6-
generated: "2022-09-19T10:35:48.90955+05:30"
5+
digest: sha256:29a84cdf77a989a3aab6b1a1a2058e6095e54702c30c35387e97cde562a22b26
6+
generated: "2025-09-02T13:32:25.244801+05:30"

stable/entropy/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ dependencies:
22
- name: app
33
repository: https://raystack.github.io/charts/
44
version: 0.3.4
5-
digest: sha256:41e9a8f47c6ad186219e24592ea05bb3d556474fdd2b088240901b978da3a8d3
6-
generated: "2022-06-17T12:16:20.299783+05:30"
5+
digest: sha256:cb969d23f63013fb76291781efe72e68b8cc60c3cbe2e2ad274a2bd5f5e4debe
6+
generated: "2025-09-02T13:32:25.661061+05:30"

stable/guardian/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ dependencies:
22
- name: app
33
repository: https://raystack.github.io/charts/
44
version: 0.4.0
5-
digest: sha256:e2d509925ddf8581f7b2a65bf0a37187ed8fde3a50d3e386a442ad34c60f8795
6-
generated: "2022-08-07T00:34:15.181033+05:30"
5+
digest: sha256:29a84cdf77a989a3aab6b1a1a2058e6095e54702c30c35387e97cde562a22b26
6+
generated: "2025-09-02T13:32:26.246956+05:30"

stable/siren/Chart.lock

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
dependencies:
2+
- name: app
3+
repository: https://raystack.github.io/charts/
4+
version: 0.4.3
5+
- name: app
6+
repository: https://raystack.github.io/charts/
7+
version: 0.4.3
8+
- name: app
9+
repository: https://raystack.github.io/charts/
10+
version: 0.4.3
11+
digest: sha256:f45fca6ad0ea7076eac91d393723876ea7935c56096a6c97a0fdfc5c7b4696fe
12+
generated: "2025-09-02T13:33:32.705026+05:30"

stable/stencil/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ dependencies:
22
- name: app
33
repository: https://raystack.github.io/charts/
44
version: 0.2.1
5-
digest: sha256:7c3f11f696cd963558e25c7c40153c5b895fb0ea892cba55c4902e9f8ad1cc0a
6-
generated: "2022-03-13T20:20:33.036613-07:00"
5+
digest: sha256:e02c693097193d0a8f2686c54779c1afd4d3bfba00dec91499e1abae6e785db8
6+
generated: "2025-09-02T13:32:26.404041+05:30"
-4.52 KB
Binary file not shown.

0 commit comments

Comments
 (0)