From db5a2f25974f751fa967fd094aaea0a4d5c8adfe Mon Sep 17 00:00:00 2001 From: Stephan Behnke Date: Mon, 12 Oct 2026 10:33:15 -0700 Subject: [PATCH 1/2] Build with disable_grpc_modules to drop unused gRPC storage client The dev server links cloud.google.com/go/storage through the Temporal server's GCS archiver. Without the disable_grpc_modules build tag, that package also links its gRPC client and the xDS/Envoy stack, which nothing uses. The Temporal server already builds its releases with this tag. Co-Authored-By: Claude Opus 5.5 --- .goreleaser.yml | 5 +++++ Makefile | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 770d3e706..f221d9c24 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -48,6 +48,11 @@ builds: - arm64 env: - CGO_ENABLED=0 + tags: + # The `disable_grpc_modules` build tag excludes gRPC dependencies from cloud.google.com/go/storage, + # which the dev server links through the Temporal server's GCS archiver. Nothing uses the gRPC + # storage client (storage.NewGRPCClient). Related issue: https://github.com/googleapis/google-cloud-go/issues/12343 + - disable_grpc_modules id: nix goos: - linux diff --git a/Makefile b/Makefile index c92c37ed8..48d04a053 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ gen-docs: internal/temporalcli/commands.yaml cliext/option-sets.yaml -output dist/docs build: - go build ./cmd/temporal + go build -tags disable_grpc_modules ./cmd/temporal test: (cd cliext && go test ./...) From 5d22da03e9b30e7520e15f53f99f01c2ed95e540 Mon Sep 17 00:00:00 2001 From: Stephan Behnke Date: Mon, 12 Oct 2026 10:34:39 -0700 Subject: [PATCH 2/2] Use the temporal server's comment for disable_grpc_modules Co-Authored-By: Claude Opus 5.5 --- .goreleaser.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index f221d9c24..cb26fe766 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -50,8 +50,8 @@ builds: - CGO_ENABLED=0 tags: # The `disable_grpc_modules` build tag excludes gRPC dependencies from cloud.google.com/go/storage, - # which the dev server links through the Temporal server's GCS archiver. Nothing uses the gRPC - # storage client (storage.NewGRPCClient). Related issue: https://github.com/googleapis/google-cloud-go/issues/12343 + # reducing binary size since we only use the REST client (storage.NewClient), not the + # gRPC client (storage.NewGRPCClient). Related issue: https://github.com/googleapis/google-cloud-go/issues/12343 - disable_grpc_modules id: nix goos: