Skip to content

Replace arduino/setup-protoc with direct protoc download - #96

Merged
bszirtes merged 1 commit into
mainfrom
fix/protoc-direct-download
Aug 18, 2026
Merged

bszirtes merged 1 commit into
mainfrom
fix/protoc-direct-download

Conversation

@bszirtes

Copy link
Copy Markdown
Contributor

Summary

Replaces the arduino/setup-protoc@v3 step in sdk-gogenerate.yaml with a direct curl+unzip of the pinned protoc release archive.

Why

arduino/setup-protoc@v3 consistently fails with:

Error: unable to get latest version

This happens even with the version pinned (3.8.0) and repo-token set (#95). The action's computeVersion() always calls the GitHub releases API to resolve/validate the version regardless of pinning, and that call is failing in the GitHub Actions runner environment — reproduced consistently across networkservicemesh/sdk and networkservicemesh/sdk-kernel CI runs, confirmed running on the commit that already includes the repo-token fix from #95.

Downloading the pinned protoc release archive directly from github.com/protocolbuffers/protobuf/releases avoids that API call entirely, so it can't hit this failure mode. Verified the download URL is reachable and returns the correct archive:
https://github.com/protocolbuffers/protobuf/releases/download/v3.8.0/protoc-3.8.0-linux-x86_64.zip

This supersedes #95 (repo-token alone wasn't sufficient).

Caller impact

None. Same as #95 — no caller repo (sdk, sdk-kernel, etc.) needs any ci.yaml changes.

Testing

  • Verified the release asset URL resolves and downloads correctly.
  • Runner only needs to support ubuntu-latest (Linux x86_64) since this job always runs on ubuntu-latest.

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
bszirtes merged commit 304ef78 into main Aug 18, 2026
2 checks passed
@bszirtes
bszirtes deleted the fix/protoc-direct-download branch August 18, 2026 11:51
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