fix(github): reduce rate-limit retry storms#1866
Conversation
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-06-30 18:28:02 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
5f3a27f to
a4f9d76
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1866 +/- ##
==========================================
+ Coverage 95.25% 95.54% +0.29%
==========================================
Files 217 217
Lines 23727 23856 +129
Branches 8569 8635 +66
==========================================
+ Hits 22600 22793 +193
+ Misses 539 437 -102
- Partials 588 626 +38
🚀 New features to boost your workflow:
|
a4f9d76 to
0d2f51d
Compare
0d2f51d to
f866374
Compare
Cache stable branch-protection denial responses, coalesce concurrent mutable GitHub GETs without persisting them, and pre-yield self-host webhook jobs when installation REST headroom is already exhausted.
f866374 to
ed9a049
Compare
Query both installation-scoped admission keys and repo-scoped null-key observations when deciding whether to defer self-host queue work. This preserves rate-limit cooldowns recorded before the admission-key migration and keeps the newest observation authoritative.
Select installation-scoped rate-limit observations before repo-scoped legacy fallback rows when pre-yielding self-host queue work. Add regressions for older exhausted installation buckets being masked by newer healthy legacy rows.
Evaluate all relevant persisted REST observations for queue admission instead of selecting one row. This preserves global fallback behavior for background jobs without repo metadata and prevents healthy scoped observations from masking active exhausted buckets.
Use unkeyed REST observations as a shared legacy and unknown-bucket fallback for every GitHub-budget admission check. This prevents repo-scoped or installation-keyed jobs from bypassing known exhausted pre-key observations.
Summary
Why
Validation
Closes #1865