How it works
CI deploy success rate measures the percentage of production deployments that complete successfully. This is a key indicator of deployment process stability and code quality. Higher success rates indicate:- Reliable deployment pipelines
- Comprehensive pre-deployment testing
- Stable infrastructure and configuration
- Well-defined rollback procedures
Calculation
The metric calculates the ratio of successful deployments to total deployment attempts. Formula:What counts as successful
A deployment is considered successful when:- The CI/CD workflow completes without errors
- All deployment steps execute successfully
What counts as failed
A deployment is considered failed when:- The CI/CD workflow exits with an error status
- Deployment steps fail or timeout
Industry benchmarks
Why it matters
Deployment success rate impacts:- Developer productivity: Failed deployments waste time and disrupt workflow
- User experience: Failed deployments can cause outages or degraded service
- Team morale: Frequent deployment failures create anxiety and reduce confidence
- Business continuity: Unreliable deployments increase risk and slow feature delivery
Common causes of low success rates
- Insufficient testing: Code reaches production without adequate test coverage
- Environment drift: Differences between staging and production environments
- Configuration errors: Missing or incorrect environment variables
- Infrastructure issues: Unreliable deployment infrastructure or networking
- Complex deployments: Too many manual steps or dependencies
- Flaky tests: Unreliable tests that fail intermittently
Improving success rates
To increase deployment success rates:-
Strengthen pre-deployment testing:
- Expand unit and integration test coverage
- Run end-to-end tests before deployment
- Use smoke tests immediately after deployment
-
Standardize environments:
- Use infrastructure-as-code (Terraform, CloudFormation)
- Containerize applications (Docker, Kubernetes)
- Maintain environment parity between staging and production
-
Improve deployment automation:
- Eliminate manual deployment steps
- Implement automated rollback triggers
- Use blue-green or canary deployments
-
Monitor deployment health:
- Set up deployment health checks
- Monitor key metrics during deployment
- Define clear success/failure criteria
-
Learn from failures:
- Conduct blameless postmortems
- Document common failure patterns
- Update runbooks and automation
Balance success rate with deploy frequency. Very high success rates (99%+) combined with low deploy frequency may indicate overly conservative processes that slow down delivery.
Technical details
How are successful deployments identified?
How are successful deployments identified?
Weave identifies successful deployments through CI/CD platform status codes:GitHub Actions:
- Workflow conclusion:
success - All required jobs completed successfully
- Workflow status:
success - All deployment jobs passed
- Build result:
SUCCESS - All deployment stages passed
How are failed deployments identified?
How are failed deployments identified?
Failed deployments are detected through:
- Explicit failures: Workflow/pipeline/build exits with failure status
- Timeouts: The CI/CD platform reports the run as timed out (for example, a GitHub Actions conclusion of
timed_out)
What data sources are used?
What data sources are used?
CI deploy success rate uses data from:
- GitHub Actions: Workflow run conclusions
- GitLab CI/CD: Pipeline statuses
- Azure DevOps: Build and classic release deployment results
- CircleCI: Workflow statuses
- Jenkins: Build results
- Argo CD: Application sync results
Public API
Available fromGET /metrics as ci_deploy_success_rate: a 0–1 fraction of CI production deploys that succeeded. Merge-as-deploy rows are excluded. Change failure rate is 1 - ci_deploy_success_rate. Requires a CI/CD connection and production-classified workflows. group_by is not supported; teams and accounts filters still apply.
Related metrics
- CI deploy frequency: How often you deploy to production
- CI deploy MTTR: How quickly you recover from failed deployments
- PR cycle time: Time from first commit to merge
