Skip to content

ci-cd

CI/CD Pipeline Guide ⚙️

How the platform uses GitHub Actions for Continuous Integration & Deployment.


Current CI/CD Setup

  • Linting: Ruff
  • Type Checking: mypy
  • Testing: pytest
  • Docker Build: Multi-stage builds
  • Image Push: To GitHub Container Registry (GHCR)

Workflow Structure

1. CI Pipeline (on every push/PR)

  • Code linting
  • Type checking
  • Unit tests
  • Security scanning

2. CD Pipeline (on merge to main)

  • Build Docker images
  • Push to GHCR
  • Optional: Deploy to staging/production

Key GitHub Actions Workflows

  • .github/workflows/ci.yml → Lint & Test
  • .github/workflows/docker-cd.yml → Build & Push images
  • .github/workflows/deploy.yml → (Future) Kubernetes deployment

Best Practices

  • Use semantic versioning for tags
  • Sign Docker images
  • Run security scans (Trivy)
  • Require passing CI before merging

Next Goal: Full GitOps deployment with ArgoCD.