Skip to content

Release Management

Aurora edited this page Feb 23, 2024 · 10 revisions

Branches

  • main - production
  • development - staging/testing
    • all feature branches merged into development
    • integration/QA testing on staging - doing on development branch
    • development branch merged into main
  • security/hotfix branch - staging/testing
    • merge directly into main

Production release

  • Weekly production release
    • with code/package/security updates
    • every tuesday - so we have time during the week if firefighting required
  • Security/Hotfix production release
    • if dependabot or other security alert eg sast 'high' or 'critical' severity
    • severe bug in code eg scalability issues

Github workflow (yaml)

  • docker-push-<operator>
  • deploy-staging
    • deploy docker containers to staging with dev requirements
  • deploy-production
    • deploy docker containers to production without dev requirements
    • notify on slack
  • On PR - development or security/hotfix branch
    • sast security testing - high+ severity eg bandit
  • ON merge - development or security/hotfix
    • deploy latest:dev operators to dockerhub
    • deploy-staging
    • all unit, integration, benchmark tests running on ALL architectures
  • ON Merge - main
    • create versioned release/tag with latest PR commit
    • deploy versioned:production operators to dockerhub
    • deploy-production
      • we should also setup locust production monitoring for failure event thresholds
    • sync development and security/hotfix branch with main
Clone this wiki locally