Require the tagged GCS driver and build the features module in CI - #867
Merged
Conversation
gcsdriver and gcssdk are published at v0.1.0, so the gcs_setup snippet can require them properly. That package has not compiled since it merged, because its dependencies were left out while the driver was untagged. CI did not notice. The build-go job builds the root module, and Go only compiles packages the main package imports, which excludes the whole snippets tree. The docker build has the same blind spot. Adds a go build ./... step in features/ so those 69 packages are compile checked. Reverting the go.mod change makes the new step fail with the three missing-dependency errors, so it catches the case it is meant to. The tagged modules declare go 1.25.4, which raises this module's go directive from 1.24.0. The repository root module is already at 1.25.4.
The root module requires github.com/temporalio/features/features through a replace directive, so adding dependencies to features/go.mod changes the root build list too. Without this, go build -o temporal-features fails with "updates to go.mod needed". Verified all four build-go steps locally: the root binary, go test ./cmd, the harness tests, and go build ./... in features.
The first pass ran "go get cloud.google.com/go/storage" with no version, which picked up v1.64.0 and pulled newer grpc, genproto, and golang.org/x transitive deps with it. gcssdk v0.1.0 only requires storage v1.57.2, so letting MVS resolve it keeps the build list closer to what main already had. Root go.mod drops from 22 changed lines to 8, and root go.sum from 62 to 14. All four build-go steps still pass.
yuandrew
approved these changes
Aug 14, 2026
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.
What
Requires
gcsdriverandgcssdkat the newly published v0.1.0, sofeatures/snippets/external_storage/gcs_setupcompiles. That package has not built since #866 merged, because its dependencies were left out while the driver was untagged.Adds a
go build ./...step infeatures/to thebuild-gojob. CI missed the breakage because it builds the root module, and Go only compiles packages the main package imports, which excludes the snippets tree entirely.go.Dockerfilehas the same blind spot. The new step compile-checks all 69 packages in the module.Note the tagged modules declare
go 1.25.4, which raises this module'sgodirective from 1.24.0. The repository root module is already at 1.25.4.