flowchart LR A[Push change] --> B[Build] B --> C{Tests pass?} C -->|No| D[Fix change] D --> A C -->|Yes| E[Deploy staging] E --> F{Smoke tests pass?} F -->|No| D F -->|Yes| G[Approve release] G --> H[Deploy production] H --> I[Monitor]