Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

temporarily disable updated Go Windows symlink behavior #36575

Merged
merged 2 commits into from
Feb 25, 2025

Conversation

jbardin
Copy link
Member

@jbardin jbardin commented Feb 25, 2025

EvalSymlinks and Readlink on Windows used to return incorrect information for windows junctions which were specifically not symlinks prior to go1.23. Unfortunately Terraform uses EvalSymlinks in situations where Windows users had come to expect their configuration to work as if it were symlinked even though it used a different filesystem structure. Set winsymlink=0 to restore the existing behavior until we can determine the best course of action for Windows users.

Fixes #36545
Fixes #36357

EvalSymlinks and Readlink on Windows used to return incorrect
information for windows junctions which were specifically not symlinks
prior to go1.23. Unfortunately Terraform uses `EvalSymlinks` in
situations where Windows users had come to expect their configuration to
work as if it were symlinked even though it used a different filesystem
structure. Set winsymlink=0 to restore the existing behavior until
we can determine the best course of action for Windows users.
@jbardin jbardin requested a review from a team as a code owner February 25, 2025 13:28
@jbardin jbardin added the 1.11-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged label Feb 25, 2025
@@ -2,6 +2,8 @@ module github.com/hashicorp/terraform

go 1.24.0

godebug winsymlink=0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL there is godebug stanza allowed here, I always assumed it's environment variables only

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was new feature in go1.23 so you can build a module with GODEBUG options by default, which is perfect timing for this particular go1.23 problem ;)

@jbardin jbardin merged commit 8e9b44d into main Feb 25, 2025
8 checks passed
@jbardin jbardin deleted the jbardin/winsymlink branch February 25, 2025 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.11-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged
Projects
None yet
2 participants