Skip to content

ci: upgrade buf.yml actions to Node 24 and pin buf CLI to 1.65.0#2512

Draft
andrewhsu wants to merge 2 commits into
masterfrom
ci/buf-format
Draft

ci: upgrade buf.yml actions to Node 24 and pin buf CLI to 1.65.0#2512
andrewhsu wants to merge 2 commits into
masterfrom
ci/buf-format

Conversation

@andrewhsu

@andrewhsu andrewhsu commented Jun 16, 2026

Copy link
Copy Markdown
Member

Summary

Two buf.yml-only changes, split out so #2511 (the rest of the Node 24 action upgrades) can stay green without re-triggering Buf CI:

  1. Node 24 action bumps in .github/workflows/buf.ymlactions/checkout v5→v6 (×3), aws-actions/configure-aws-credentials v4→v6 (×2), aws-actions/aws-secretsmanager-get-secrets v2→v3 (×2). (Moved here from ci: upgrade GitHub Actions to Node 24-compatible versions #2511.)
  2. Pin the buf CLI to 1.65.0 for bufbuild/buf-action@v1 (all three jobs).

Why pin buf

buf-action@v1 installs the latest buf by default. buf 1.71.0 changed the formatter (it collapses short nested message literals onto one line), so buf format --diff in the validate job started failing on protos that are formatted for the repo's pinned buf 1.65.0 (BUF_VERSION in taskfiles/proto.yaml, used by task proto:generate).

CI's format/lint check and code generation were running different buf versions. Pinning buf-action to 1.65.0 puts them on a single source of truth, so a new buf release can't silently break Buf CI again. No proto reformatting is needed — the committed protos are already 1.65.0-clean (verified locally: buf 1.65.0 format --diff --exit-code is clean).

An earlier revision of this PR reformatted all protos to buf 1.71.0. That was dropped: task proto:generate (pinned to buf 1.65.0) re-expands 1.71.0's formatting, so the reformat and the codegen pin were mutually inconsistent. Pinning the CI buf to 1.65.0 is the lower-churn fix and keeps a single buf version across the repo.

Test plan

  • buf 1.65.0 format --diff --exit-code clean on the committed protos (build + lint also pass)
  • Buf CI (validate) green on this PR
  • Proto generate green on this PR

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

The latest Buf updates on your PR. Results from workflow Buf CI / validate (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJun 17, 2026, 3:20 AM

andrewhsu added a commit that referenced this pull request Jun 16, 2026
Updates 9 occurrences across 4 workflow files. v5 and v6 both run on
Node 24, so this is not a runtime change -- it aligns the pin with the
current major. v6 persists the auth token to a separate file instead of
.git/config; our checkout and build steps don't read .git/config, so
the change is transparent.

(buf.yml's checkout bump is handled separately in #2512.)

See https://github.com/actions/checkout/releases/tag/v6.0.0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
andrewhsu added a commit that referenced this pull request Jun 16, 2026
Updates 4 occurrences across 4 workflow files. v3 runs on Node 24; v2
runs on Node 20, which is being deprecated on GitHub Actions runners.
No input changes affect our usage (secret-ids + parse-json-secrets).

(buf.yml's bump is handled separately in #2512.)

See https://github.com/aws-actions/aws-secretsmanager-get-secrets/releases/tag/v3.0.0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
andrewhsu added a commit that referenced this pull request Jun 16, 2026
Updates 4 occurrences across 4 workflow files. v6 runs on Node 24; v4
runs on Node 20, which is being deprecated on GitHub Actions runners.

Our usage only sets aws-region and role-to-assume (string inputs), so
the v5 input-validation change (invalid booleans now throw instead of
coercing to false) does not affect us.

(buf.yml's bump is handled separately in #2512.)

See https://github.com/aws-actions/configure-aws-credentials/releases/tag/v6.0.0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
andrewhsu and others added 2 commits June 16, 2026 20:18
Moved here from #2511 so that PR's checks stay green without
re-triggering Buf CI. Bumps the external actions used in
.github/workflows/buf.yml:

- actions/checkout v5 -> v6 (3 occurrences)
- aws-actions/configure-aws-credentials v4 -> v6 (2 occurrences)
- aws-actions/aws-secretsmanager-get-secrets v2 -> v3 (2 occurrences)

Same Node 24 rationale as the sibling per-action commits in #2511; no
input changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bufbuild/buf-action@v1 installs the latest buf release by default. buf
1.71.0 changed the formatter (it collapses short nested message
literals onto one line), so `buf format --diff` in the validate job
started failing on protos that are formatted for the repo's pinned buf
1.65.0 (BUF_VERSION in taskfiles/proto.yaml, used by `task proto:generate`).

Pin buf-action to 1.65.0 so CI's lint/format checks use the same buf
version as code generation -- one source of truth -- instead of drifting
whenever buf publishes a new release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@andrewhsu andrewhsu changed the title proto: reformat all modules with buf 1.71.0 ci: upgrade buf.yml actions to Node 24 and pin buf CLI to 1.65.0 Jun 17, 2026
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.

2 participants