Skip to content

CI/CD Workflows Documentation

Welcome to the complete documentation for Hatchgrid’s CI/CD workflows. This section contains all the information needed to understand, maintain, and extend our GitHub Actions pipelines.


Click to expand documentation links

graph TD
    A[Push/PR] --> B{Changes Detected}
    B -->|Backend| C[Backend CI]
    B -->|Frontend| D[Frontend CI]
    B -->|Both| E[Monorepo CI]

    C --> F[Lint Kotlin]
    C --> G[Build & Test]
    C --> H[Backend Artifacts]

    D --> I[Lint TypeScript]
    D --> J[Build Frontend]
    D --> K[Test Frontend]
    D --> L[Frontend Artifacts]

    E --> M[Security Analysis]
    E --> N[Super Linter]
    E --> O[Dependency Check]
    E --> P[Integration Tests]

    H --> Q[Deploy Pipeline]
    L --> Q
    P --> Q

    Q --> R[Build Docker Images]
    Q --> S[Security Scan]
    Q --> T[Deploy to K8s]

WorkflowPurposeTriggersApprox. Duration
Monorepo CIMain CI/CD pipelinePush/PR to main, Manual~15-20 min
Backend CIKotlin/Java specific CIChanges in server/~8-12 min
Frontend CINode.js/TS specific CIChanges in client/~5-8 min
DeployEnvironment deploymentManual, Tags, Push main~10-15 min
WorkflowPurposeTriggersFrequency
Cleanup CacheCache cleanupPR closedAutomatic
Issue LabelerIssue labelingIssue opened/editedAutomatic
Semantic PRPR title validationPR opened/editedAutomatic
Test PNPMConfiguration verificationManualAs needed

ActionPurposeUsageBenefits
setup-javaJava 21 + Gradle configurationBackend workflowsAutomatic cache, consistent configuration
setup-nodeNode.js 22 + pnpm configurationFrontend workflowsSmart caching, optimized installation
docker/backendSpring Boot Docker buildDeploy workflowsGradle bootBuildImage, security scanning
docker/frontend-webVue.js Docker buildDeploy workflowsMulti-stage builds, environment configs
docker/frontend-landingAstro Docker buildDeploy workflowsStatic site optimization, security scanning
docker/security-scanDocker vulnerability scanningAll Docker buildsTrivy integration, SARIF reports

  • Cache Hit: 85-95% (depending on workflow)
  • Total CI Time: ~20-25 minutes (without cache)
  • Total CI Time: ~8-12 minutes (with cache)
  • Deploy Time: ~10-15 minutes
  • Runners: Ubuntu Latest (GitHub-hosted)
  • Concurrency: Maximum 20 simultaneous jobs
  • Storage: ~2GB artifacts per month
  • Bandwidth: ~50GB transfer per month

  • CodeQL - Static code analysis (JavaScript, Kotlin)
  • OWASP Dependency Check - Dependency vulnerabilities
  • Trivy - Docker image scanning
  • Dependency Review - New dependency review in PRs
  • Super Linter - Code and configuration validation
  • Repository Level: Shared secrets (Codecov, NVD API)
  • Environment Level: Environment-specific configurations (Kubernetes, APIs)
  • Rotation: Monthly automatic rotation for critical secrets

  1. Clone the repository
  2. Workflows run automatically on PRs
  3. Review checks before merging
  4. Deploys to development are automatic from main
  1. Review logs in the “Actions” tab
  2. Use act for local testing
  3. Consult the troubleshooting guide
  1. Weekly: Review metrics and cache hit rates
  2. Monthly: Update action versions
  3. Quarterly: Complete security audit
  1. Create file in .github/workflows/
  2. Follow naming conventions
  3. Document in this guide
  4. Test in development branch

Terminal window
# GitHub CLI for workflow management
gh workflow list
gh workflow run "Monorepo CI"
gh run list --workflow="Deploy"
# Secret management
gh secret list
gh secret set SECRET_NAME --body "value"
# Cache management
gh extension install actions/gh-actions-cache
gh actions-cache list
Terminal window
# Run workflows locally with act
act -j backend
act -j frontend
act --workflows .github/workflows/monorepo-ci.yml
# Validate workflow syntax
actionlint .github/workflows/*.yml

  • Implement matrix builds for multiple versions
  • Optimize cache strategy for better hit rate
  • Add Slack/Teams notifications
  • Migrate to self-hosted runners for intensive workloads
  • Implement canary deployment
  • Add post-deployment smoke tests
  • Implement GitOps with ArgoCD
  • Add automatic performance analysis
  • Implement automatic rollback

  1. Fork the repository
  2. Create documentation branch: docs/update-workflows
  3. Update relevant files
  4. Create PR with clear description
  5. Request review from DevOps team
  • Use emojis for main sections
  • Include code examples when relevant
  • Keep links updated
  • Document changes in CHANGELOG


  • ✅ Updated Git hooks configuration documentation
  • ✅ Added Git hooks update guide
  • ✅ Added documentation for parallel pre-push hooks execution
  • ✅ Complete initial documentation
  • ✅ Troubleshooting guides
  • ✅ Custom actions documentation
  • ✅ Metrics and monitoring
  • Technology-specific guides
  • Tutorial videos
  • Workflow templates
  • Documentation automation

Last updated: July 19, 2025 Documentation version: 1.0.0