ci: Replace deprecated arduino/setup-protoc with direct protoc download#1377
Open
brucearctor wants to merge 1 commit into
Open
ci: Replace deprecated arduino/setup-protoc with direct protoc download#1377brucearctor wants to merge 1 commit into
brucearctor wants to merge 1 commit into
Conversation
The arduino/setup-protoc@v3 action targets Node.js 20, which is deprecated on GitHub Actions runners and will fail after Sept 16, 2026. Replace all 10 instances across per-pr.yml and heavy.yml with a cross-platform shell step that downloads protoc directly from the protobuf GitHub releases. This: - Eliminates the Node.js runtime dependency entirely - Upgrades from protoc 23.x to 27.3 - Handles all 5 runner platforms (Linux x86_64/ARM64, macOS x86_64/ARM64, Windows) - Removes the TODO comment about arduino/setup-protoc#99 (no longer relevant)
Contributor
Author
|
FWIW: I am not at all invested in this 'solution' OK to close. If we like setup-protoc action, it seems we would need to fork or get a PR merged bumping versions. ALso, maybe not an issue, until it is. So -- mostly food-for-thought. Again, 0 cares if we close/don't want. |
Member
|
Appreciate the PR. I believe we will want to standardize how we fetch protoc across repos, will report back with decision. |
Contributor
Author
Understood. A working solution/PR is often just as easy as a design doc, except then is concrete. That throws lots of people, but a PR doesn't mean strongly invested in that solution -- highlights as a concrete option. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1376
Summary
Replace all 10 instances of
arduino/setup-protoc@v3(SHAc65c819..., targeting Node.js 20) with a cross-platform shell step that downloads protoc directly from protobuf GitHub releases.Changes
per-pr.yml: Replaced 9 instances across all CI jobs (build-and-lint, test, msrv, integ-tests, wasm-workflow-tests, cloud-tests, docker-integ-tests, examples, c-bridge-static-link-test)heavy.yml: Replaced 1 instanceWhat this does
ubuntu-latest)ubuntu-24.04-arm64-2-core)macos-26-intel)macos-14)windows-latest)arduino/setup-protoc#99(no longer relevant)Why
arduino/setup-protoc@v3targets Node.js 20, which is deprecated on GitHub Actions. After September 16, 2026, these actions will fail entirely. Thearduino/setup-protocrepo has not released a Node.js 24 update.