Skip to content

chore: remove go workspace, handle them personal to each developer#1357

Merged
StarpTech merged 6 commits intomainfrom
dustin/remove-go-workspace
Nov 11, 2024
Merged

chore: remove go workspace, handle them personal to each developer#1357
StarpTech merged 6 commits intomainfrom
dustin/remove-go-workspace

Conversation

@StarpTech
Copy link
Copy Markdown
Contributor

@StarpTech StarpTech commented Nov 9, 2024

Motivation and Context

Introduction

Although go workspace has been built to simplify managing multiple modules in a single codebase, we run into couple of very serious issues that we were not able to solve deterministically.

One example: We upgraded a dependency that is not used in any other Go module. This upgrade had the effect that another module dependency was upgraded. Due to this behaviour it was impossible to understand the dependency tree because the change was not reflected in the mod or sum file of any module. Luckily, our CI has catched this before it become a serious issue.

Conclusion

We used workspaces the wrong way. Meanwhile, community has built an opinion around the usage of Go workspaces. Go workspaces should be handled as personal to each developer and therefore not be committed.

This makes sense, if you see them as a more manageable approach to replace directives.

More information https://earthly.dev/blog/go-workspaces/

Checklist

Copy link
Copy Markdown
Contributor

@df-wg df-wg left a comment

Choose a reason for hiding this comment

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

In general, lgtm. One additional change I'd like to see would be explicit recommendations in Contributing.md, perhaps, about how it's best to configure a personal workspace to make things smooth, if there is any difference from our current workflow

@StarpTech
Copy link
Copy Markdown
Contributor Author

@df-wg addressed, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants