55
66jobs :
77 validate-kustomize :
8- runs-on : ubuntu-latest
9-
10- steps :
11- - uses : actions/checkout@v4
12-
13- - name : Install Kustomize
14- run : |
15- curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
16- sudo mv kustomize /usr/local/bin/
17-
18- - name : Find and validate Kustomize configurations
19- id : validate
20- run : |
21- echo "# Kustomize Validation Results"
22- echo ""
23- echo "# Kustomize Validation Results" >> $GITHUB_STEP_SUMMARY
24- echo "" >> $GITHUB_STEP_SUMMARY
25-
26- # Find all kustomization.yaml files
27- KUSTOMIZATION_DIRS=$(find . -name "kustomization.yaml" -exec dirname {} \;)
28-
29- # Check if any kustomization files were found
30- if [ -z "$KUSTOMIZATION_DIRS" ]; then
31- echo "ℹ️ No kustomization.yaml files found"
32- echo "### ℹ️ No kustomization.yaml files found" >> $GITHUB_STEP_SUMMARY
33- exit 0
34- fi
35-
36- # Initialize error flag
37- HAS_ERRORS=0
38-
39- # Test each kustomization
40- for dir in $KUSTOMIZATION_DIRS; do
41- echo "🔍 Validating: $dir"
42- if ! OUTPUT=$(kustomize build "$dir" --enable-helm 2>&1); then
43- echo ""
44- echo "❌ Error in '$dir':"
45- echo "----------------------------------------"
46- echo "$OUTPUT"
47- echo "----------------------------------------"
48- echo ""
49-
50- # Also add to GitHub step summary
51- echo "### ❌ Error in \`$dir\`" >> $GITHUB_STEP_SUMMARY
52- echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
53- echo "$OUTPUT" >> $GITHUB_STEP_SUMMARY
54- echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
55- echo "" >> $GITHUB_STEP_SUMMARY
56- HAS_ERRORS=1
57- else
58- echo "✅ $dir is valid"
59- fi
60- done
61-
62- if [ "$HAS_ERRORS" -eq 1 ]; then
63- echo ""
64- echo "🚨 One or more kustomizations failed validation."
65- echo "::error::One or more Kustomize configurations failed validation"
66- exit 1
67- else
68- echo ""
69- echo "🎉 All kustomizations are valid."
70- echo "### 🎉 All kustomizations are valid!" >> $GITHUB_STEP_SUMMARY
71- fi
8+ uses : datum-cloud/actions/.github/workflows/validate-kustomize.yaml@v1.6.0
0 commit comments