Skip to content

Fix arduino/setup-protoc rate-limit failures in sdk-gogenerate - #95

Merged
bszirtes merged 1 commit into
mainfrom
fix/setup-protoc-repo-token
Aug 18, 2026
Merged

bszirtes merged 1 commit into
mainfrom
fix/setup-protoc-repo-token

Conversation

@bszirtes

Copy link
Copy Markdown
Contributor

Summary

  • Adds repo-token: ${{ secrets.GITHUB_TOKEN }} to the arduino/setup-protoc@v3 step in sdk-gogenerate.yaml.

Why

The gogenerate check was intermittently failing with:

Error: Error: unable to get latest version

This is caused by arduino/setup-protoc hitting GitHub's unauthenticated API rate limit (60 req/hour per IP) when resolving/downloading the protoc release, even though the version is pinned (3.8.0).

Passing repo-token raises this to the authenticated rate limit and avoids the failure.

Caller impact

None. GITHUB_TOKEN is automatically provided to workflow_call runs, so repos calling this reusable workflow (e.g. networkservicemesh/sdk) don't need any changes to their ci.yaml.

Testing

  • Verified no other workflow in this repo calls arduino/setup-protoc (only sdk-gogenerate.yaml does; cmd-gogenerate.yaml doesn't use protoc at all).

Fixes 'unable to get latest version' errors from arduino/setup-protoc
caused by unauthenticated GitHub API rate limiting. GITHUB_TOKEN is
automatically available in workflow_call runs, so no caller repo needs
to change how it invokes this reusable workflow.

Signed-off-by: Botond Szirtes <botond.szirtes@est.tech>
@bszirtes
bszirtes merged commit 81f54a0 into main Aug 18, 2026
2 checks passed
@bszirtes
bszirtes deleted the fix/setup-protoc-repo-token branch August 18, 2026 10:01
bszirtes added a commit to networkservicemesh/sdk that referenced this pull request Aug 18, 2026
…ache

arduino/setup-protoc is failing with 'unable to get latest version'
due to GitHub API rate limiting. The fix (repo-token) was merged in
networkservicemesh/.github#95, but GitHub's cache for the @main ref
of that reusable workflow hasn't picked it up yet even ~50 minutes
after merge. Inline the job locally with the token included so CI on
this release branch isn't blocked.

TODO: revert once the upstream cache catches up.
Signed-off-by: Botond Szirtes <botond.szirtes@est.tech>
bszirtes added a commit to networkservicemesh/sdk that referenced this pull request Aug 18, 2026
…ache

arduino/setup-protoc is failing with 'unable to get latest version'
due to GitHub API rate limiting. The fix (repo-token) was merged in
networkservicemesh/.github#95, but GitHub's cache for the @main ref
of that reusable workflow hasn't picked it up yet even ~50 minutes
after merge. Inline the job locally with the token included so CI on
this release branch isn't blocked.

TODO: revert once the upstream cache catches up.
Signed-off-by: Botond Szirtes <botond.szirtes@est.tech>
bszirtes added a commit that referenced this pull request Aug 18, 2026
arduino/setup-protoc@v3 fails with 'unable to get latest version' even
with a pinned version and repo-token set (confirmed reproducing
consistently across networkservicemesh/sdk and
networkservicemesh/sdk-kernel CI runs, on the correct merged commit).
The action's computeVersion() always calls the GitHub releases API to
resolve/validate the pinned version, regardless of the token, and this
call is failing in the GitHub Actions runner environment.

Download the pinned protoc release archive directly from GitHub
instead, bypassing that API call entirely. This is a superseding fix
for #95.

Signed-off-by: Botond Szirtes <botond.szirtes@est.tech>
bszirtes added a commit to networkservicemesh/sdk-kernel that referenced this pull request Aug 18, 2026
arduino/setup-protoc@v3 fails with 'unable to get latest version' even
with the version pinned and repo-token set (see
networkservicemesh/.github#95 and #96). Inline the gogenerate job
locally with a direct protoc download to unblock CI on this release
branch.

TODO: revert once networkservicemesh/.github#96 is merged and picked
up by the @main ref.

Signed-off-by: Botond Szirtes <botond.szirtes@est.tech>
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.

1 participant