Skip to main content

GitHub Actions Workflows

Main CI Workflow

Test Job
Purpose: Ensures all unit tests pass before deployment Environment Variables:
  • ENABLE_TRACING=false: Disables OpenTelemetry tracing
  • ENABLE_METRICS=false: Disables metrics collection
  • ENABLE_CONSOLE_EXPORT=false: Disables console export
Lint Job
Purpose: Enforces code quality standards Checks:
  • flake8: Python syntax errors and undefined names
  • mypy: Type checking (non-blocking)
Security Check Job
Purpose: Identifies security vulnerabilities Scanner: Bandit with low-low severity threshold

Deployment Validation

Validate Deployments Job

Purpose: Ensures all deployment configurations are valid before merge Validations:
  1. Python Validation Script: Comprehensive YAML and configuration checks
  2. Docker Compose: Syntax and structure validation
  3. Helm Chart: Linting and template rendering
  4. Kustomize Overlays: Validation for dev, staging, and production

Validation Script

Location: scripts/validation/validate_deployments.py Features:
  • YAML syntax validation
  • Kubernetes manifest validation
  • Cross-platform configuration consistency
  • Resource specifications validation
  • Environment variable completeness
  • Probe configuration validation
Usage:
Example Output:

Build and Push

Docker Image Build

Features:
  • Multi-architecture builds: amd64 and arm64
  • Automatic tagging: Branch names, PRs, semantic versions, commit SHAs
  • Layer caching: GitHub Actions cache for faster builds
  • Dependency: Only runs after all validation jobs pass
  • SBOM generation: Automatic Software Bill of Materials creation
Image Tags:
  • main: Latest stable version
  • develop: Development version
  • v2.1.0: Semantic version tags
  • sha-abc1234: Commit SHA tags

Software Bill of Materials (SBOM)

Every release automatically generates an SBOM for supply chain security: Format: SPDX JSON Tool: Anchore SBOM Action Location: Attached to GitHub release Usage:
Benefits:
  • Supply chain transparency
  • Vulnerability tracking
  • License compliance
  • Security audits

Next Steps

Testing Strategy

Learn about testing procedures

Deployment

Deploy to environments

Back to Overview

Return to CI/CD overview