Retry failed GitHub release scans with backoff #133

Merged
benvin merged 1 commits from benvin/github-scan-retry into master 2026-10-09 23:15:56 +11:00
Member

Releasing a GitHub sync lease always advanced last_synced_at, even after a failed scan (e.g. a rate-limit 403). A remote that failed once waited a full mutable_ttl before retrying, and a cold remote kept returning 503 until then.

  • record scan outcomes in one shared lease helper for github_rpm/deb/alpine
  • keep last_synced_at and the ETag on failure; retry from 60s with exponential backoff, capped at min(10m, ttl/4)
  • honour Retry-After / X-RateLimit-Reset, clamped to mutable_ttl
  • add sync_failures / next_retry_at columns (migration 0002)
Releasing a GitHub sync lease always advanced `last_synced_at`, even after a failed scan (e.g. a rate-limit 403). A remote that failed once waited a full `mutable_ttl` before retrying, and a cold remote kept returning 503 until then. - record scan outcomes in one shared lease helper for github_rpm/deb/alpine - keep `last_synced_at` and the ETag on failure; retry from 60s with exponential backoff, capped at min(10m, ttl/4) - honour `Retry-After` / `X-RateLimit-Reset`, clamped to `mutable_ttl` - add `sync_failures` / `next_retry_at` columns (migration 0002)
unkin-agent added 1 commit 2026-10-09 22:31:50 +11:00
Retry failed GitHub release scans with backoff
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
07e17791d1
A failed scan no longer advances last_synced_at; it schedules a retry from
60s with exponential backoff, honouring Retry-After/X-RateLimit-Reset.
Author
Member

No findings.

No findings.
benvin merged commit 492607a164 into master 2026-10-09 23:15:56 +11:00
benvin deleted branch benvin/github-scan-retry 2026-10-09 23:15:56 +11:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/artifactapi#133