Changes / GitHub Copilot / Incident with Actions

GitHub Copilot: Critical incident: Incident with Actions

Summary

Critical Actions and Pages degradation lasted 2 h 49 min, from 2026-08-26 15:11 UTC to 2026-08-26 18:01 UTC. Actions jobs failed to start, then experienced delays exceeding five minutes; Pages performance degraded. Saturated database-primary writes triggered the disruption; failover did not fully restore service. Queues recovered, but 3.7% of early larger-runner jobs remained stuck pending cancellation.

Machine-written from the diff below (Sol; type: incident degradation). Check the diff before relying on it.

Major incidentLabel: degradation (model (Jev), 70%)Changed Detected Source: stspg.io (opens in new tab)

What changed

AddedTitle#1
Before: not present
After: Incident with Actions
AddedImpact#2
Before: not present
After: critical
AddedStatus#3
Before: not present
After: resolved
AddedStart time#4
Before: not present
After: 2026-08-26 15:11 UTC
AddedResolved time#5
Before: not present
After: 2026-08-26 18:01 UTC
AddedAffected components#6
Before: not present
After: Actions, Pages
AddedUpdateinvestigating#7
Before: not present
After: We are investigating reports of degraded availability for Actions
AddedUpdateinvestigating#8
Before: not present
After: Pages is experiencing degraded performance. We are continuing to investigate.
AddedUpdateinvestigating#9
Before: not present
After: We've identified an issue with a database primary and are failing over to a replica immediately
AddedUpdateinvestigating#10
Before: not present
After: primary failover briefly improved performance but did not fully mitigate, we've throttled inbound traffic and are investigating upstream Vitess issues
AddedUpdateinvestigating#11
Before: not present
After: We believe we've identified and addressed the issue and are ramping traffic back up slowly to ensure it doesn't recur. Some customers will continue to see delays as we ramp up.
AddedUpdateinvestigating#12
Before: not present
After: Pages is operating normally.
AddedUpdateinvestigating#13
Before: not present
After: We are continuing to observe recovery and delayed queues are burning down. Some customers will continue to see increased delays until all throttled work has been completed - we expect this within the next hour.
AddedUpdateinvestigating#14
Before: not present
After: We are continuing to observe recovery and expect actions inbound queues to be back to normal in <30min. Work will continue to flow through the system subject to per-customer concurrency limits.
AddedUpdatemonitoring#15
Before: not present
After: The degradation affecting Actions has been mitigated. We are monitoring to ensure stability.
AddedUpdatemonitoring#16
Before: not present
After: All inbound queues have recovered and Actions is operating as expected. 3.7% of jobs assigned to larger runners during the early stage of this incident are stuck waiting for runner assignment. Those will be canceled within the hour. Other runners are successfully processing all new jobs.
AddedUpdateresolved#17
Before: not present
After: On August 26, 2026 from 15:02 to 15:45 UTC, Actions jobs failed to start. The following 2 hours until 17:40 UTC, Actions runs were delayed starting by more than 5 minutes as the system caught up with delayed load. This impact was triggered by saturation of writes to the database primary used by the service processing triggers for Actions workflows. The primary was failed over, but the system did not fully recover. The saturation was caused by growing daily peak load combined with an upstream issue in GitHub’s event processing infrastructure, https://www.githubstatus.com/incidents/hcbtzksccj2f, which caused burst amplification of already-high load. Downstream throttles that were later used to recover were set ~10% too high to protect the system. <br /><br />At 15:45 UTC, throttling combined with service restarts recovered the service’s core health. Those throttles were gradually raised between 15:54 and 17:22 to restore full webhook processing for Actions runs. This ramp was deliberately slow to ensure we did not re-overwhelm the system given our original throttling was now known to be incorrectly set. The queue of webhook events was fully burned down at 17:40 UTC. <br /><br />3.7% of larger-runner jobs, along with some scale-set self-hosted jobs, remained stuck in queued or “waiting for runner” state. We deployed a change to force-revoke jobs in this state, and they transitioned to failed at 18:40 UTC, about 50 minutes after incident mitigation. Releasing these jobs also freed hosted concurrency for larger-runner jobs. <br /><br />Customers using concurrency groups saw longer impact due to a separate issue where runners assigned to a subset of jobs disconnected before the force-revoke mitigation was deployed, which prevented runner acquisition from progressing and left jobs in a waiting-for-runner state. This was resolved at 01:00 UTC on August 27. <br /><br />Some runs triggered during the 15:02-15:45 UTC incident window encountered a bug that left them showing as queued even after service recovery. In the backend, these runs had already failed and will automatically move to canceled state 24 hours after creation. As follow-up, we are fixing the root cause of this queued state and improving our ability to bulk-cancel affected runs. <br /><br />Several changes to improve the general scalability of this part of Actions were already complete and deploying to production. Rollout of those changes will be complete within the next 24 hours. Further work to improve scale, resiliency, and more graceful degradation of Actions workflows are in flight. We are also taking a repair item to accelerate clearing of stuck queued or waiting jobs in similar future cases.

First version of this incident archived by Rewindex. View the live incident (opens in new tab).

History of this incident

When (UTC)ChangeKind
Critical incident: Incident with Actions (this change)
Critical Actions and Pages degradation lasted 2 h 49 min, from 2026-08-26 15:11 UTC to 2026-08-26 18:01 UTC. Actions jobs failed to start, then experienced delays exceeding five minutes; Pages performance degraded. Saturated database-primary writes triggered the disruption; failover did not fully restore service. Queues recovered, but 3.7% of early larger-runner jobs remained stuck pending cancellation.
Major incident

All GitHub Copilot changes → · GitHub Copilot profile · Markdown · JSON