Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@adishM98
Copy link
Collaborator

Summary

This PR addresses critical template issues and adds comprehensive CI/CD validation to prevent similar issues in the future.

Problem

GitHub issue #61 identified a critical bug where malformed YAML in Helm templates caused deployment failures when Redis was disabled (the default configuration). The workflow also lacked automated validation to catch such issues before merge.

✨ New Features

3. Helm Lint Workflow (.github/workflows/helm-lint.yml)

Triggers:

  • ✅ Pull requests to main or gh-pages (auto-run on chart changes)
  • ✅ When helm-lint label is added to PR
  • ✅ Weekly schedule (Mondays 9 AM UTC)
  • ✅ Manual dispatch via GitHub Actions UI

Validation Steps:

  1. Helm Lint (Strict Mode) - Validates chart syntax and structure
  2. Dry-Run Deployment - Simulates deployment to catch configuration issues
  3. Template Rendering - Verifies all templates render without errors

Branch Support:

  • Automatically detects chart location (main: charts/tooljet/, gh-pages: root)
  • Works with both branch structures seamlessly

4. Real Deployment Testing Workflow (.github/workflows/helm-deploy-test.yml)

Triggers:

  • ⏰ Weekly (Mondays 10 AM UTC)
  • 🔧 Manual dispatch

Testing:

  • Creates a real Kubernetes cluster using Kind
  • Deploys the chart with PostgreSQL enabled
  • Verifies pods start successfully
  • Provides deployment logs for debugging

Benefits

Immediate

  • ✅ Fixes deployment failures affecting all default installations
  • ✅ Prevents PRs with template errors from being merged
  • ✅ Catches configuration issues before they reach production

Long-term

  • 🛡️ Automated quality gates for all chart changes
  • 🚀 Fast feedback on PRs (~15 seconds added to CI)
  • 📊 Weekly verification of chart deployability
  • 🔍 Catches issues that linting alone misses

Testing

Local Validation ✅

  • helm lint charts/tooljet --strict - PASSED
  • helm install --dry-run - PASSED
  • helm template - PASSED (668 lines rendered)

Workflows Tested ✅

  • Dry-run deployment validation works correctly
  • Template rendering completes successfully
  • Chart path detection works for both main and gh-pages branches

@adishM98 adishM98 merged commit f6507cd into main Dec 11, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants