pulumi/changelog/pending
bors[bot] 301a6ce9fa
Merge #13305
13305: Don't try to install provider during schema loading unless missing r=Frassle a=Frassle

<!--- 
Thanks so much for your contribution! If this is your first time contributing, please ensure that you have read the [CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md) documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. -->

Fixes https://github.com/pulumi/pulumi-terraform-bridge/issues/1247

When running tfgen the provider plugin is generally only available on PATH, not in the plugins directory. The schema loader was only checking the plugins directory to decided if it had a resource provider already installed, and so sent off lots of github requests to lookup latest versions of plugins while running example conversion.

This changes the schema loader to use the same logic we use elsewhere where we try to use the provider (which will also look at PATH) and then if we get a missing plugin error we'll do the install and then try again.

I've also moved the `SetKnownPluginDownloadURL` call into workspace.InstallPlugin so we don't forget to call it before passing specs in.

Finally I've also removed the InstallPlugin method from Host as the only place it was used was in the schema loader, which is now using workspace.InstallPlugin like everywhere else.

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the Pulumi Cloud,
then the service should honor older versions of the CLI where this change would not exist.
You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Cloud API version
  <!-- `@Pulumi` employees: If yes, you must submit corresponding changes in the service repo. -->


Co-authored-by: Fraser Waters <fraser@pulumi.com>
2023-06-28 16:07:42 +00:00
..
20230601--cli-state--the-upgrade-command-now-prompts-the-user.yaml cli(state upgrade): Prompt for project names for detached stacks 2023-06-22 13:45:13 -07:00
20230609--engine--old-inputs-are-sent-to-provider-diff-functions-as-well-as-the-old-outputs.yaml Send old inputs to diff and update 2023-06-21 21:04:50 +01:00
20230620--programgen-go--fix-aliasing-package-names-using-dashes-when-schema-doesnt-include-go-package-info-override.yaml Fix aliasing package names using dashes when schema doesn't include go package info override 2023-06-20 18:11:47 +02:00
20230622--cli--stack-output-on-the-console-no-longer-escapes-html-characters-inside-json-strings.yaml fix(cli/stack output): Don't escape HTML characters 2023-06-23 09:11:20 -07:00
20230622--cli-state--disallow-renaming-resources-to-invalid-names-that-will-corrupt-the-state.yaml cli(state/rename): Validate new name before renaming 2023-06-22 14:23:59 -07:00
20230622--programgen-go--use-raw-string-literals-for-long-multi-line-strings.yaml fix(codegen/go): Use raw string literals for multiline-strings 2023-06-22 10:55:45 -07:00
20230622--programgen-nodejs-python--prefer-output-versioned-invokes-in-generated-programs-for-nodejs-and-python.yaml Prefer output-versioned invokes in generated programs for nodejs and python 2023-06-23 02:42:18 +02:00
20230622--sdk-go-nodejs-python--missing-config-error-text-includes-secret-if-requiresecret-was-used.yaml Add --secret to config set hints when needed 2023-06-22 17:25:30 +01:00
20230622--sdk-nodejs--update-atgrpc-grpc-js-to-1-8-16.yaml Update @grpc/grpc-js 2023-06-22 09:08:48 +01:00
20230623--cli-display--print-the-summary-event-for-previews-that-contain-non-error-level-diagnostic-messages.yaml Print update summary in preview even if there are diagnostics. 2023-06-23 15:14:30 -07:00
20230623--engine--engine-marks-outputs-secret-if-an-output-of-the-same-name-is-marked-secret.yaml Mark outputs secret if there is a matching secret input. 2023-06-23 09:24:21 -07:00
20230624--auto-nodejs--adds-a-better-error-message-for-invalid-nodejs-autoapi-workdir.yaml Add a better error message for invalid NodeJS AutoAPI workdir 2023-06-24 11:57:22 -07:00
20230626--cli--improve-the-cli-stack-validation-error-message.yaml Improve the stack validation error message 2023-06-28 00:48:19 +02:00
20230626--cli-package--fixes-resolving-plugins-when-they-are-not-yet-installed-in-plugin-cache.yaml Fixes resolving plugins with package get-schema and get-mapping when they are not yet installed in plugin cache 2023-06-26 11:21:38 +02:00
20230628--cli-state--add-interactive-urn-selection-to-pulumi-state-rename-unprotect-delete.yaml CL 2023-06-28 13:42:00 +02:00
20230628--sdkgen--fix-loading-schemas-from-providers-on-path.yaml Don't try to install provider during schema loading unless missing 2023-06-28 14:12:17 +01:00