• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lsm / neokai / 28124598122

24 Jun 2026 07:36PM UTC coverage: 32.485%. First build
28124598122

push

github

web-flow
fix: poll GitHub check run failures (#2164)

* fix: poll GitHub check run failures

* fix(github): address review feedback on check-run polling

- Seed the check-run cursor from the repo update time so failures that
  complete between polling enablement and the first poll are not dropped.
- Treat a failed /pulls endpoint as a partial scan so check-run polling
  skips when the tracked head cursor is stale.
- Continue past 403s on fork head repositories instead of aborting the
  whole repo scan.
- Track the PR owner of unscoped check-run dedupe keys in the cursor and
  fall back to a PR-scoped key when the same check run later belongs to a
  different PR.

Task: #658

PR: #2164

* fix(github): per-head check-run cursors and stable seeding

- Seed check-run cursor from checkRunPollingEnabledAt (captured once when
  polling is enabled) instead of mutable watched.updatedAt.
- Track per-head check-run watermarks (checkRunHeadLastSeenAt /
  checkRunHeadPendingLastSeenAt) so a skipped/failed head does not lose
  events when other heads advance.
- Transient check-run 5xx on one head skips that head and continues to the
  next instead of aborting the entire scan; rate-limit failures still stop
  all heads.
- Reactions continue running after a transient check-run 5xx since only
  rate-limit failures set the shared partialScan flag.
- Look up existing unscoped dedupe rows in ExternalEventStore to scope the
  key when the legacy owner was seeded by webhook, not just polling.

Task: #658

PR: #2164

* fix(github): legacy cursor seeding, head-gain reprocessing, re-enable refresh

- Seed legacy check-run cursors from the committed poll watermark instead
  of watched.createdAt so upgraded repos don't backfill months of history.
- Reset per-head check-run watermark when a head gains a new PR so older
  failures are re-evaluated for the new PR (store dedupe prevents dupes).
- Reseed checkRunPollingEnabledAt and clear per-head check-run cursors on
  every false→true poll... (continued)

22 of 641 new or added lines in 3 files covered. (3.43%)

34520 of 106266 relevant lines covered (32.48%)

29.07 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

1.87
/packages/daemon/src/lib/external-events/github/github-normalizer.ts


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc