Repository navigation
Description
Problem
The report-api-budget composite (.github/actions/report-api-budget) writes only the api-budget notice. It writes no api-calls notice, so the GITHUB_TOKEN requests of every job that ends with it (for example the review jobs in .github/workflows/pr-review-cli.yml) never reach the hub's per-job call count. In melodic-software/claude-code-plugins, the per-job api-calls github-token=N notices account for only part of the spend that GITHUB_TOKEN's rate-limit headers show (melodic-software/standards#899 measured 932 of 3,804 calls logged in one hour). Its api-budget.bash has api_budget_read and api_budget_emit and no api_budget_emit_calls.
Fix
Port the consumer's api_budget_emit_calls and its api-calls step lines from melodic-software/claude-code-plugins .github/actions/log-api-budget (api-budget.bash and action.yml). The notice is ::notice title=api-calls::<token>=N not-modified=M: N counts the job's own requests, M its 304 answers (which GitHub does not count), and a token with no reading gets <token>=0 not-modified=0. Then have report-api-budget emit it for each named token, after the api-budget notice. This follows the same pattern as melodic-software/standards#899.
If the composite's callers also run gh commands that are not gh api -i (paginated reads, gh pr ...), they are uncounted the same way the consumer's were. melodic-software/claude-code-plugins counts those by running gh with GH_DEBUG=1 and counting its * Request to <url> lines (see Related).
Acceptance
- Each job that uses
report-api-budgetwrites oneapi-calls github-token=N not-modified=Mnotice, at 0 when it has no reading. - No changes to permissions, secrets or triggers.
Related
- ci: log GITHUB_TOKEN api-calls from the synced review callers standards#899
- ci: log GITHUB_TOKEN api-calls from the jobs that logged none claude-code-plugins#10710
- melodic-software/claude-code-plugins pull request on branch
ci/count-every-gh-request(counting every gh request)
Activity
kyle-sexton commentedon Nov 8, 2026
Fixed on main by #942 (b078cd0): report-api-budget writes
::notice title=api-calls::<token>=N not-modified=M graphql=Kper token (.github/actions/report-api-budget/api-budget.bash:138), and pr-review-cli jobs already end with that step. #915 is closed as redundant.