Loading the user32 DLL sometimes fails in CI for unknown reasons. This
seems to come from the atotto/clipboard package, which loads the DLL
globally, when it's being initialized. This commit attempts to work
around that by using a version that simply doesn't load the DLL at all,
to see if that fixes the issues.
We could potentially do a bit better, and actually hack the library so
it only tries to load the DLL when the clipboard is actually being used,
but I want to see if this works first.
Fixes https://github.com/pulumi/pulumi/issues/14240
This adds the first pass of parameterized providers to Go. This only
supports resources, need to expand tests to cover invokes and calls
later.
The method of implementation _might_ be seen as controversial, with all
new methods to do the registrations. An alternative would have been to
make PackageRef a `Resource/InvokeOption`, but that's inconsistent with
how we added it in the other languages, and further the engine won't
send it as a ResourceOption to transforms. So I think this
implementation is probably the preferred way, but while doing this we
might want to just do a `RegisterResourceV2` with `struct` args instead
of positional so if even more arguments need adding in the future we
have a non-breaking way to add them.