Skip to content

Conversation

@theihor
Copy link
Contributor

@theihor theihor commented Jul 2, 2025

Github has a limit on the number of tokens used by an app, which is 5k/1h for a free-tier org [1].

In BPF CI due to number of pending PRs, we regularly get very close to hitting the limit (remaining < 500) and have relevant alerts set up.

Introduce can_do_sync() method to BranchWorker that will check if there is enough remaining tokens to run through the sync_patches. Enough is defined by MIN_REMAINING_GITHUB_TOKENS, which is currently a constant for simplicity.

In case the number of remaining tokens is too low, the sync_patches will simply be skipped for the worker. Effectively KPD will wait until github will refresh the limit without crashing.

[1] https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#primary-rate-limit-for-authenticated-users

@theihor theihor force-pushed the github-ratelimit branch from 203a1ea to 039d9e3 Compare July 2, 2025 19:03
@theihor theihor requested a review from eddyz87 July 2, 2025 19:04
Github has a limit on the number of tokens used by an app, which is
5k/1h for a free-tier org [1].

In BPF CI due to number of pending PRs, we regularly get very close to
hitting the limit (remaining < 500) and have relevant alerts set up.

Introduce can_do_sync() method to BranchWorker that will check if
there is enough remaining tokens to run through the
sync_patches. *Enough* is defined by MIN_REMAINING_GITHUB_TOKENS,
which is currently a constant for simplicity.

In case the number of remaining tokens is too low, the sync_patches
will simply be skipped for the worker. Effectively KPD will wait until
github will refresh the limit without crashing.

[1] https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#primary-rate-limit-for-authenticated-users

Signed-off-by: Ihor Solodrai <[email protected]>
@theihor theihor force-pushed the github-ratelimit branch from 99da2ff to aa51824 Compare July 2, 2025 19:06
@theihor theihor merged commit 25d8efa into main Jul 2, 2025
5 checks passed
@theihor theihor deleted the github-ratelimit branch July 2, 2025 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants