Skip to content

Commit

Permalink
Upgrade protobuf-go and protoc-gen-go (#3653)
Browse files Browse the repository at this point in the history
  • Loading branch information
doriable authored Feb 26, 2025
1 parent 8ca7e7c commit f1de9d0
Show file tree
Hide file tree
Showing 62 changed files with 87 additions and 129 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ require (
golang.org/x/sync v0.11.0
golang.org/x/term v0.29.0
golang.org/x/tools v0.30.0
google.golang.org/protobuf v1.36.4
google.golang.org/protobuf v1.36.5
gopkg.in/yaml.v3 v3.0.1
pluginrpc.com/pluginrpc v0.5.0
)
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 h1:
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287/go.mod h1:8BS3B93F/U1juMFq9+EDk+qOT5CO1R9IzXxG3PTqiRk=
google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ=
google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw=
google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM=
google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
Expand Down
30 changes: 23 additions & 7 deletions make/go/dep_golangci_lint.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,35 @@ $(call _conditional_include,$(MAKEGO)/base.mk)
$(call _assert_var,CACHE_VERSIONS)
$(call _assert_var,CACHE_BIN)

# We want to ensure we rebuild golangci-lint every time we require a new Go minor version.
# Otherwise, the cached version may not support the latest language features.
GOLANGCI_LINT_GO_VERSION := $(shell go list -m -f '{{.GoVersion}}' | cut -d'.' -f1-2)
ifeq ($(UNAME_OS),Darwin)
GOLANGCI_LINT_OS := darwin
else ifeq ($(UNAME_OS),Linux)
GOLANGCI_LINT_OS := linux
endif

ifeq ($(UNAME_ARCH),x86_64)
GOLANGCI_LINT_ARCH := amd64
else ifeq ($(UNAME_ARCH),arm64)
GOLANGCI_LINT_ARCH := arm64
else ifeq ($(UNAME_ARCH),aarch64)
GOLANGCI_LINT_ARCH := arm64
else
GOLANGCI_LINT_ARCH := $(UNAME_ARCH)
endif

# Settable
# https://github.com/golangci/golangci-lint/releases 20250103 checked 20250124
# https://github.com/golangci/golangci-lint/releases 20250212 checked 20250212
# Contrast golangci-lint configuration with the one in https://github.com/connectrpc/connect-go/blob/main/.golangci.yml when upgrading
GOLANGCI_LINT_VERSION ?= v1.63.4
GOLANGCI_LINT_VERSION ?= v1.64.3

GOLANGCI_LINT := $(CACHE_VERSIONS)/golangci-lint/$(GOLANGCI_LINT_VERSION)-go$(GOLANGCI_LINT_GO_VERSION)
GOLANGCI_LINT := $(CACHE_VERSIONS)/golangci-lint/$(GOLANGCI_LINT_VERSION)
$(GOLANGCI_LINT):
@rm -f $(CACHE_BIN)/golangci-lint
GOBIN=$(CACHE_BIN) go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)
$(eval GOLANGCI_LINT_TMP := $(shell mktemp -d))
curl -fsSL -o $(GOLANGCI_LINT_TMP)/golangci-lint.tar.gz \
https://github.com/golangci/golangci-lint/releases/download/$(GOLANGCI_LINT_VERSION)/golangci-lint-$(subst v,,$(GOLANGCI_LINT_VERSION))-$(GOLANGCI_LINT_OS)-$(GOLANGCI_LINT_ARCH).tar.gz
cd $(GOLANGCI_LINT_TMP); tar zxf $(GOLANGCI_LINT_TMP)/golangci-lint.tar.gz --strip-components 1 && mv golangci-lint $(CACHE_BIN)/golangci-lint
@rm -rf $(GOLANGCI_LINT_TMP)
@rm -rf $(dir $(GOLANGCI_LINT))
@mkdir -p $(dir $(GOLANGCI_LINT))
@touch $(GOLANGCI_LINT)
Expand Down
4 changes: 2 additions & 2 deletions make/go/dep_protoc_gen_go.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ $(call _assert_var,CACHE_VERSIONS)
$(call _assert_var,CACHE_BIN)

# Settable
# https://github.com/protocolbuffers/protobuf-go/releases 20250124 checked 20250124
PROTOC_GEN_GO_VERSION ?= v1.36.4
# https://github.com/protocolbuffers/protobuf-go/releases 20250206 checked 20250210
PROTOC_GEN_GO_VERSION ?= v1.36.5

GO_GET_PKGS := $(GO_GET_PKGS) \
google.golang.org/protobuf/proto@$(PROTOC_GEN_GO_VERSION)
Expand Down
4 changes: 0 additions & 4 deletions private/buf/cmd/buf/buf_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ var (
{ID: "FIELD_LOWER_SNAKE_CASE", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that field names are lower_snake_case."},
{ID: "FIELD_NOT_REQUIRED", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that fields are not configured to be required."},
{ID: "IMPORT_NO_PUBLIC", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that imports are not public."},
{ID: "IMPORT_NO_WEAK", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that imports are not weak."},
{ID: "IMPORT_USED", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that imports are used."},
{ID: "MESSAGE_PASCAL_CASE", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that messages are PascalCase."},
{ID: "ONEOF_LOWER_SNAKE_CASE", Categories: []string{"BASIC", "STANDARD"}, Default: true, Purpose: "Checks that oneof names are lower_snake_case."},
Expand Down Expand Up @@ -679,7 +678,6 @@ ENUM_PASCAL_CASE BASIC, STANDARD * Checks that
ENUM_VALUE_UPPER_SNAKE_CASE BASIC, STANDARD * Checks that enum values are UPPER_SNAKE_CASE.
FIELD_LOWER_SNAKE_CASE BASIC, STANDARD * Checks that field names are lower_snake_case.
IMPORT_NO_PUBLIC BASIC, STANDARD * Checks that imports are not public.
IMPORT_NO_WEAK BASIC, STANDARD * Checks that imports are not weak.
IMPORT_USED BASIC, STANDARD * Checks that imports are used.
MESSAGE_PASCAL_CASE BASIC, STANDARD * Checks that messages are PascalCase.
ONEOF_LOWER_SNAKE_CASE BASIC, STANDARD * Checks that oneof names are lower_snake_case.
Expand Down Expand Up @@ -876,7 +874,6 @@ PACKAGE_SAME_SWIFT_PREFIX MINIMAL, BASIC, STANDARD, PACKAGE_AFFINITY
ENUM_NO_ALLOW_ALIAS MINIMAL, BASIC, STANDARD, SENSIBLE * Checks that enums do not have the allow_alias option set.
FIELD_NO_DESCRIPTOR MINIMAL, BASIC, STANDARD, SENSIBLE * Checks that field names are not any capitalization of "descriptor" with any number of prefix or suffix underscores.
IMPORT_NO_PUBLIC MINIMAL, BASIC, STANDARD, SENSIBLE * Checks that imports are not public.
IMPORT_NO_WEAK MINIMAL, BASIC, STANDARD, SENSIBLE * Checks that imports are not weak.
PACKAGE_DEFINED MINIMAL, BASIC, STANDARD, SENSIBLE * Checks that all files have a package defined.
ENUM_PASCAL_CASE BASIC, STANDARD, STYLE_BASIC, STYLE_STANDARD * Checks that enums are PascalCase.
ENUM_VALUE_UPPER_SNAKE_CASE BASIC, STANDARD, STYLE_BASIC, STYLE_STANDARD * Checks that enum values are UPPER_SNAKE_CASE.
Expand Down Expand Up @@ -933,7 +930,6 @@ ENUM_VALUE_UPPER_SNAKE_CASE BASIC, STANDARD * Checks tha
FIELD_LOWER_SNAKE_CASE BASIC, STANDARD * Checks that field names are lower_snake_case.
FIELD_NOT_REQUIRED BASIC, STANDARD * Checks that fields are not configured to be required.
IMPORT_NO_PUBLIC BASIC, STANDARD * Checks that imports are not public.
IMPORT_NO_WEAK BASIC, STANDARD * Checks that imports are not weak.
IMPORT_USED BASIC, STANDARD * Checks that imports are used.
MESSAGE_PASCAL_CASE BASIC, STANDARD * Checks that messages are PascalCase.
ONEOF_LOWER_SNAKE_CASE BASIC, STANDARD * Checks that oneof names are lower_snake_case.
Expand Down
6 changes: 3 additions & 3 deletions private/bufpkg/bufcheck/bufcheckserver/bufcheckserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ var (
bufcheckserverbuild.LintFieldNoDescriptorRuleSpecBuilder.Build(true, []string{"MINIMAL", "BASIC", "DEFAULT", "STANDARD", "SENSIBLE"}),
bufcheckserverbuild.LintFileLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintImportNoPublicRuleSpecBuilder.Build(true, []string{"MINIMAL", "BASIC", "DEFAULT", "STANDARD", "SENSIBLE"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(true, []string{"MINIMAL", "BASIC", "DEFAULT", "STANDARD", "SENSIBLE"}),
bufcheckserverbuild.LintMessagePascalCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD", "STYLE_BASIC", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintOneofLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD", "STYLE_BASIC", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintPackageDefinedRuleSpecBuilder.Build(true, []string{"MINIMAL", "BASIC", "DEFAULT", "STANDARD", "SENSIBLE"}),
Expand All @@ -129,6 +128,7 @@ var (
bufcheckserverbuild.LintRPCResponseStandardNameRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintServicePascalCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD", "STYLE_BASIC", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintServiceSuffixRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD", "STYLE_DEFAULT", "STYLE_STANDARD"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(false, []string{}),
},
Categories: []*check.CategorySpec{
bufcheckserverbuild.FileCategorySpec,
Expand Down Expand Up @@ -238,7 +238,6 @@ var (
bufcheckserverbuild.LintFieldLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintFileLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoPublicRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportUsedRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintMessagePascalCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintOneofLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
Expand All @@ -265,6 +264,7 @@ var (
bufcheckserverbuild.LintServicePascalCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintServiceSuffixRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintSyntaxSpecifiedRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(false, []string{}),
},
Categories: []*check.CategorySpec{
bufcheckserverbuild.FileCategorySpec,
Expand Down Expand Up @@ -367,7 +367,6 @@ var (
bufcheckserverbuild.LintFieldNotRequiredRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintFileLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoPublicRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportUsedRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintMessagePascalCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintOneofLowerSnakeCaseRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
Expand Down Expand Up @@ -395,6 +394,7 @@ var (
bufcheckserverbuild.LintServiceSuffixRuleSpecBuilder.Build(true, []string{"DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintStablePackageNoImportUnstableRuleSpecBuilder.Build(false, []string{}),
bufcheckserverbuild.LintSyntaxSpecifiedRuleSpecBuilder.Build(true, []string{"BASIC", "DEFAULT", "STANDARD"}),
bufcheckserverbuild.LintImportNoWeakRuleSpecBuilder.Build(false, []string{}),
},
Categories: []*check.CategorySpec{
bufcheckserverbuild.FileCategorySpec,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -689,10 +689,15 @@ var (
}
// LintImportNoWeakRuleSpecBuilder is a rule spec builder.
LintImportNoWeakRuleSpecBuilder = &bufcheckserverutil.RuleSpecBuilder{
ID: "IMPORT_NO_WEAK",
Purpose: "Checks that imports are not weak.",
Type: check.RuleTypeLint,
Handler: bufcheckserverhandle.HandleLintImportNoWeak,
ID: "IMPORT_NO_WEAK",
Purpose: "Checks that imports are not weak.",
Deprecated: true,
Type: check.RuleTypeLint,
Handler: check.RuleHandlerFunc(
func(context.Context, check.ResponseWriter, check.Request) error {
return nil
},
),
}
// LintImportUsedRuleSpecBuilder is a rule spec builder.
LintImportUsedRuleSpecBuilder = &bufcheckserverutil.RuleSpecBuilder{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -460,25 +460,6 @@ func handleLintImportNoPublic(
return nil
}

// HandleLintImportNoWeak is a handle function.
var HandleLintImportNoWeak = bufcheckserverutil.NewLintFileImportRuleHandler(handleLintImportNoWeak)

func handleLintImportNoWeak(
responseWriter bufcheckserverutil.ResponseWriter,
_ bufcheckserverutil.Request,
fileImport bufprotosource.FileImport,
) error {
if fileImport.IsWeak() {
responseWriter.AddProtosourceAnnotation(
fileImport.Location(),
nil,
`Import %q must not be weak.`,
fileImport.Import(),
)
}
return nil
}

// HandleLintImportUsed is a handle function.
var HandleLintImportUsed = bufcheckserverutil.NewLintFileImportRuleHandler(handleLintImportUsed)

Expand Down
11 changes: 0 additions & 11 deletions private/bufpkg/bufcheck/lint_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,17 +172,6 @@ func TestRunImportNoPublic(t *testing.T) {
)
}

func TestRunImportNoWeak(t *testing.T) {
t.Parallel()
testLint(
t,
"import_no_weak",
bufanalysistesting.NewFileAnnotation(t, "a.proto", 6, 1, 6, 30, "IMPORT_NO_WEAK"),
bufanalysistesting.NewFileAnnotation(t, "a.proto", 7, 1, 7, 29, "IMPORT_NO_WEAK"),
bufanalysistesting.NewFileAnnotation(t, "one/one.proto", 6, 1, 6, 30, "IMPORT_NO_WEAK"),
)
}

func TestRunImportUsed(t *testing.T) {
t.Parallel()
testLint(
Expand Down
7 changes: 0 additions & 7 deletions private/bufpkg/bufcheck/testdata/lint/import_no_weak/a.proto

This file was deleted.

4 changes: 0 additions & 4 deletions private/bufpkg/bufcheck/testdata/lint/import_no_weak/buf.yaml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-- a.proto --
syntax = "proto3";
import "regular.proto";
import weak "weak.proto";
import "weak.proto";
message ImportRegular {
Regular x = 1;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-- a.proto --
syntax = "proto3";
import "public.proto";
import weak "weak.proto";
import "weak.proto";
message ImportPublic {
Public x = 1;
}
Expand Down
2 changes: 1 addition & 1 deletion private/gen/proto/go/buf/alpha/audit/v1alpha1/event.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion private/gen/proto/go/buf/alpha/breaking/v1/config.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion private/gen/proto/go/buf/alpha/image/v1/image.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion private/gen/proto/go/buf/alpha/lint/v1/config.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion private/gen/proto/go/buf/alpha/registry/v1alpha1/doc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f1de9d0

Please sign in to comment.