DEPLOY-002 critical Pipeline Stability

Deployment failures tracked and team notified

Team notified on both deployment success and failure

Question to ask

"How would you find out about a silent deploy failure?"

What to check

  • Notifications configured (Slack, Discord, email, etc.)
  • Both success and failure trigger notifications
  • Deployment events tracked in CI history
  • Failure rate visible and monitored

Verification guide

Severity: Critical

Check automatically:

  1. Check workflow run failure rate:

    # Get recent deployment runs with conclusions
    gh run list --limit 50 --json workflowName,conclusion --jq '[.[] | select(.workflowName | test("deploy|release"; "i"))] | group_by(.conclusion) | map({conclusion: .[0].conclusion, count: length})'
    
  2. Check for notification on success AND failure:

    # Look for Slack/Discord/email notifications
    grep -riE "slack|discord|notify|email|webhook|teams" .github/workflows/*.yml 2>/dev/null
    
  3. Check if notifications happen on both success and failure:

    # Look for conditional notifications
    grep -B5 -A15 "slack\|discord\|notify" .github/workflows/*.yml 2>/dev/null | grep -E "if:|success|failure|always"
    
  4. Check for GitHub deployment statuses:

    # Get recent deployments and their statuses
    gh api repos/{owner}/{repo}/deployments --jq '.[0:5] | .[] | {environment, sha: .sha[0:7], created_at}'
    
  5. Check for third-party deployment tracking:

    # Look for deployment tracking integrations
    grep -riE "sentry.*release|datadog|newrelic|honeycomb|deploy.*track" .github/workflows/*.yml 2>/dev/null
    

Cross-reference with:

  • DEPLOY-001 (Workflow exists and is stable)
  • Section 19 (Sentry deployment integration)

Pass criteria:

  • Failure rate calculable from CI history
  • Notifications configured for both success and failure
  • Team actually receives deploy notifications (Slack channel, email, etc.)
  • Deployment events tracked (GitHub deployments API or third-party)

Fail criteria:

  • No visibility into deployment success/failure
  • Only failure notifications (miss successful deploys)
  • Notifications configured but going nowhere (dead channel)
  • No historical deployment tracking

If no notifications found, ask user: "No deployment notifications found in workflows. How does the team know when deploys happen? Notifications should fire on both success and failure so the team has visibility."

Evidence to capture:

  • Notification method (Slack, Discord, email, etc.)
  • Notification channel/destination
  • Whether both success and failure trigger notifications
  • Failure rate over recent deployments
  • Deployment tracking integration (if any)

Section

10. Deployments

Deployment & Operations