What’s tracked
Workflow runs
- All workflow executions across your repositories
- Job statuses (success, failure, cancelled, skipped)
- Execution duration and timing
- Trigger events (push, pull_request, schedule, manual)
Deployments
- Production deployments detected from workflow jobs
- Deployment frequency and success rate
- Deployment environments and targets
- Rollback detection
Build health
- Build failure patterns
- Performance trends
DORA metrics enabled
Connecting GitHub Actions enables these key DevOps metrics:- Deployment frequency — How often you deploy to production
- Deploy success rate — Percentage of successful deployments
- MTTR — Mean time to recovery from failed deployments
- Deploy lead time — Time from code commit to production
Deployment detection
Weave identifies production workflows using the existing production-workflow setting and detection behavior. For workflows without deployment-confirmation jobs configured, workflow completion remains the existing deployment signal.Confirm actual production work
For a workflow where success can include a skipped release, configure one or more exact deployment-confirmation job names in the workflow’s production deployment settings. Choose the fully qualified GitHub job names that prove the production release was applied and verified. Include every job that participates in the declared production release; a wrapper, approval, baseline lookup, staging preparation, or notification job is not proof that code reached production. Workflows with independent release domains should configure all applicable confirmation jobs together, or use separate workflow labels when the domains are genuinely independent. When confirmation jobs are configured, the overall workflow’s success is insufficient. The selected confirmation work must have run successfully. If the overall workflow succeeds and all matching configured jobs were skipped, it is a successful no-op and is not counted as a deployment. A failed overall workflow remains a failed CI attempt in deployment metrics. If no matching job ran, or the job list is missing or incomplete, deployment evidence remains unknown/pending and is surfaced for reconciliation; it is not silently treated as a deployment or as proof that no deployment happened. Notification failures do not erase a separately verified release.Attribute changes in batch releases
Use Batch releases since only when a later release can be tied to a verified prior baseline and its complete deployed commit range. This lets Weave attribute canceled or superseded changes to the first confirmed batch release that contains them. A later successful workflow by itself does not establish that it included an earlier change. If the baseline or full commit comparison cannot be verified, cumulative attribution stays unresolved rather than fabricating PR links. Direct PR associations continue to work independently. Changing labels does not itself establish historical coverage. Previously stored runs may need their attempt-specific jobs and release ancestry reconciled; missing evidence stays pending until that work succeeds.Automatic setup
1
Connect GitHub
GitHub Actions data is automatically synced when you connect GitHub to Weave
2
Verify tracking
Deploy once and check that Weave detects the workflow run
3
Configure environments
Mark production environments in Weave settings if needed
4
View metrics
Access DORA metrics in Overview and Reports pages
Supported features
Workflow analysis
- Execution time trends
- Job-level performance tracking
- Step duration analysis
- Resource usage patterns
Deployment tracking
- Environment-specific deployment history
- Deployment annotations on PR timeline
- Rollback and revert detection
- Deployment frequency trends
Integration with PRs
- Link deployments to merged PRs
- Calculate deploy lead time per PR
- Track which commits are deployed
- Monitor PR-to-production flow
Troubleshooting
Deployments not detected
Deployments not detected
If deployments aren’t showing up:
- Check that environment names match production patterns
- Verify workflows are deploying from tracked branches (usually
main) - Ensure commit SHAs are included in deployment events
- Review production environment configuration in Weave settings
Incorrect metrics
Incorrect metrics
If DORA metrics seem wrong:
- Verify the workflow is marked as a production workflow
- For workflows that can succeed without releasing, check the configured confirmation job names
- Review unknown or pending job evidence and cumulative batch-release coverage in deployment settings
- Check that staging/preview workflows are excluded and deployment timestamps are accurate
Delayed sync
Delayed sync
If workflow data is delayed:
- Verify GitHub webhooks are configured correctly
- Check that Weave has proper permissions
- Ensure workflows are completing (not stuck)
- Trigger manual sync from Data page
Data synced
Weave tracks only workflow metadata:- Workflow and job names
- Execution status and duration
- Trigger events and actors
- Environment names and deployment targets
- Commit SHAs and references
- Workflow file contents
- Step logs or console output
- Environment variables or secrets
- Application code or artifacts
Best practices
Clear environment naming
Use consistent, clear names for production environments:- ✅
production,prod,live - ❌
prod-1,production-us-east-1
Deploy from main
Deploy from a single main branch for accurate lead time tracking:- Merge PRs to
main - Deploy
mainto production - Avoid long-lived release branches
Atomic deployments
Each deployment should represent a discrete set of changes:- Deploy one PR or a small batch
- Avoid mixing many unrelated changes
- Configure confirmation jobs that prove the selected production work completed
- Enable clear failure attribution
