Repository navigation
Always use the SDK's Go version in SDK compat check - #321
Merged
Merged
Conversation
The current stable go is 1.27, which writes export data version 5. But the current SDK release uses some older tooling that doesn't support export data version 5, only 4. (This has been fixed in temporalio/sdk-go#2668, but no new release has been made yet.) This fix will avoid all future iterations of this problem by always using the SDK's go version, not just blindly grabbing stable and hoping for compatibility.
simvlad
approved these changes
Oct 12, 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 changed?
When setting up Go for the SDK compat check, use the Go version specified by the SDK.
Why?
The current stable go is 1.27, which writes export data version 5. But the current SDK release uses some older tooling that doesn't support export data version 5, only 4. (This has been fixed in temporalio/sdk-go#2668, but no new release has been made yet.)
This fix will avoid all future iterations of this problem by always using the SDK's go version, not just blindly grabbing stable and hoping for compatibility.
How did you test it?
https://github.com/temporalio/api-go/actions/runs/38251829937
Potential risks
The only risk is to the API release process, but it's already broken. This is unlikely to break it worse.
Going forward, in the case of a go version mismatch between API and SDK this will result in always favoring the SDK. That's not a regression; previously we just installed the latest stable, which could favor API, SDK, both, or neither. (Currently stable is 1.27, SDK uses 1.26, and API uses 1.25.) So this actually constrains that risk to a single flavor, which is an improvement.