Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A formatter that commits changes can keep triggering its own CI workflow when a second formatter undoes those changes. In a reported incident, that disagreement sent a branch through roughly 900 runs overnight, delayed pull-request checks, and occupied shared runners. The durable fix was to make formatting a check that reports a diff, rather than a job that writes and pushes one.

How the formatter disagreement became a CI loop

Sergey Shinder’s incident account says the autoformatting job had run normally for five days. On a Wednesday morning, pull-request checks were queued for about 50 minutes, while the runner pool had been occupied since around 10:30 the previous night. Shinder traced the problem to one pull request containing a construct where two formatters disagreed about a trailing comma.

One formatter added the comma and committed its output. That push started another run; the other formatter removed the comma and pushed again. The next run reversed the change once more. Because the output kept alternating instead of settling on one version, the workflow had no stable result that would stop another push.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Shinder estimated that the workflow ran roughly 900 times overnight, at about two minutes per run. Those are figures from the author’s account, not independently audited measurements. The shared, first-come, first-served runner pool also served production deployment, pull-request checks, and nightly jobs, so the loop delayed unrelated work. Read Shinder’s incident account on Dev.to.

#1 Best Overall
Rackmount.IT | RM-CI-T7 | Rack Mount Kit for Cisco Meraki MS120-8FP-HW
  • Rack Mount Kit for Cisco Meraki MS120-8FP-HW
  • PERFECT FIT: You can assemble your firewall or switch onto the rack with existing screws from the appliance for a perfect fit into our custom cut-outs; All connections are easily accessible from the front providing a clean look
  • KEEP IT COOL: Custom model airflow cut-outs ensures that the hardware does not overheat by giving it all the breathing room it needs
  • POWER: A fixed power supply secures the appliance from falling or shifting
  • Product Dimensions: 2.32 in. x 18.98 in. x 8.54 in.; 1.3U/2U; Weight: 4 lbs; Part Number: RM-CI-T7

Why a push can repeat the work

A workflow becomes vulnerable when it both writes to a branch and responds to the kind of event its own write creates. If a formatter’s changes are committed and pushed, that push may start the workflow again, depending on the event configuration and credentials. If another formatter reverses the edit, the two jobs can produce an endless sequence of commits.

This is not an inevitable property of every GitHub Actions push. GitHub says events caused by the repository’s GITHUB_TOKEN generally do not trigger new workflow runs, as a safeguard against recursion. Other credentials can behave differently. Shinder’s account does not state which token or event configuration the job used, so it does not establish why that particular push triggered another run. GitHub documents how workflow events and GITHUB_TOKEN affect triggering.

Rank #2
Rackmount.IT RM-CI-T22 Rack Mount Kit for Cisco ISR 1131 and ISR 1110 Series – 1U, 19" Rackmount, Front-Facing Ports, Secured Power Supply – Cisco Blue
  • Compatible with Cisco ISR 1131 and ISR 1110 Series, providing a secure 1U fit for standard 19-inch racks.
  • Ports are relocated to the front panel for improved visibility, management, and airflow within the rack.
  • Supports both native and screw-based mounting depending on the ISR model, with included zip ties for stable power cable routing.
  • Fast 3-minute installation with minimal tooling required—uses only two screws and three zip ties.
  • Constructed from solid steel and finished in Cisco Blue, ensuring durability, heat-resistance, and seamless visual integration

Make formatting a check, not a writer

The incident’s primary fix was to change the formatter job so it checked formatting and failed with a diff instead of committing and pushing its output. This breaks the feedback path: the job can show developers what needs correction, but it does not create a new commit that restarts itself.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a workflow whose purpose is to enforce formatting, check-only behavior also makes the required change visible in the pull request. The author or contributor can apply the fix, and the next check evaluates that commit. If a project has a separate reason to automate formatting commits, that writer should be designed so its output converges and its trigger behavior is deliberate; the incident account does not prescribe a general configuration for that alternative.

Rank #3
Rackmount.IT RM-CI-T16 Rack Mount Kit for Cisco Catalyst 9800-L Wireless Controllers - 1U, Front Ports, Signal White Steel (RM-CI-T16)
  • DESIGNED FOR CISCO Catalyst 9800-L: Custom-fit rack mount kit for Catalyst 9800-L.
  • QUICK 3-MINUTE SETUP: Slide your device into the kit, secure with retainers, connect included cables — no tools required.
  • FRONT-FACING CONNECTIONS: All ports, cables, and indicators remain fully accessible from the front for easy management.
  • SECURED POWER SUPPLY: The power supply is fixed to the rack kit, preventing accidental disconnection and ensuring uninterrupted operation.
  • 1U RACK UNIT: Fits standard 19-inch EIA-310 racks. Color: Signal White.

Use concurrency to limit duplicate work

Shinder also describes adding a concurrency group per branch with cancel-in-progress. GitHub Actions concurrency can control simultaneous workflow or job runs; with cancellation enabled, a newer run can cancel an active run in the same group. This helps limit overlapping work, but it does not by itself fix a formatter disagreement: a succession of new runs can still keep replacing older ones.

Scope the group key to the work you intend to replace—typically including the workflow and branch—rather than using a broad shared name. GitHub notes that workflows using the same group can affect one another, so an overly broad key may cancel unrelated work. See GitHub’s workflow syntax documentation for concurrency behavior.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Add safeguards for bot activity and unusual run volume

The report says the team added two further measures: a condition to skip runs when the actor was its bot account, and an alert for workflow runs per repository per hour. These are additional defenses, not substitutes for removing the feedback loop. An actor condition can avoid reprocessing a bot’s own changes in the cases it covers, while a volume alert can help surface unusual activity; neither guarantees that every loop will be prevented or detected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Together, the measures address different failure modes: check-only formatting prevents this class of self-generated push, scoped concurrency limits overlapping execution, the actor guard excludes a particular identity, and volume monitoring can flag a spike. The author’s account does not include workflow YAML, so these measures should not be treated as a ready-to-copy configuration.

Best Value
pnucrw 1 PCS NEW IM34-11EX-CI Factory Packing with Warranty IM3411EXCI
  • New and Original.
  • Factory Seal and Packing.
  • One-Year Warranty.
  • Customer Service and Technical Support.
  • If you need large quantity, please contact us.

Account for shared runner capacity in recovery plans

The incident’s operational impact came from more than wasted formatter runs. Because the runner pool was shared without priority, runaway automation consumed capacity needed by pull-request checks, nightly jobs, and production deployment. A useful safeguard is therefore to monitor workflow volume and understand which workloads share runners, so responders can identify whether an automation loop is blocking work that matters more urgently.

Quick Recap

Bestseller No. 1
Rackmount.IT | RM-CI-T7 | Rack Mount Kit for Cisco Meraki MS120-8FP-HW
Rackmount.IT | RM-CI-T7 | Rack Mount Kit for Cisco Meraki MS120-8FP-HW
Rack Mount Kit for Cisco Meraki MS120-8FP-HW; POWER: A fixed power supply secures the appliance from falling or shifting
$151.05
Bestseller No. 3
Rackmount.IT RM-CI-T16 Rack Mount Kit for Cisco Catalyst 9800-L Wireless Controllers - 1U, Front Ports, Signal White Steel (RM-CI-T16)
Rackmount.IT RM-CI-T16 Rack Mount Kit for Cisco Catalyst 9800-L Wireless Controllers - 1U, Front Ports, Signal White Steel (RM-CI-T16)
DESIGNED FOR CISCO Catalyst 9800-L: Custom-fit rack mount kit for Catalyst 9800-L.; 1U RACK UNIT: Fits standard 19-inch EIA-310 racks. Color: Signal White.
$135.99
Bestseller No. 5
pnucrw 1 PCS NEW IM34-11EX-CI Factory Packing with Warranty IM3411EXCI
pnucrw 1 PCS NEW IM34-11EX-CI Factory Packing with Warranty IM3411EXCI
New and Original.; Factory Seal and Packing.; One-Year Warranty.; Customer Service and Technical Support.
$520.00

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.