mirror of https://github.com/pulumi/pulumi.git
63fab35215
### Description When https://github.com/pulumi/pulumi/pull/12196 was added to Pulumi CLI v3.143.0+ it made it such that when performing a `refresh`, the CLI would gather the dependencies of the program, compare them against the dependencies from the state/snapshot and warn if there are mismatches. To gather the dependencies of the program, the CLI would spin up a language plugin and call `GetRequiredPackages()` to get the set of dependencies. This usually works fine, however the PR does not account for _inline_ automation API programs where the language host isn't usually involved or needed to begin with. This I believe is the root cause of https://github.com/pulumi/pulumi-dotnet/issues/443: a user that runs their standalone dotnet binaries with inline programs (in an environment without `dotnet` in the PATH) now sees errors reported by the dotnet language host that the `dotnet` executable is missing whereas previously it wasn't needed. Furthermore, although the "missing `dotnet`" errors are benign and don't cause refresh to fail or stop executing, the issue suggested that the language host plugin isn't gracefully shutting down, causing a panic (see issue details). This PR attempts to address the issue by: - Skipping the gathering of program dependencies when we are running an inline automation program - ~Calling `defer lang.Close()` on the language host when acquiring the program dependencies for a graceful shutdown~ |
||
---|---|---|
.. | ||
lifecycletest | ||
combinedManager.go | ||
debugging.go | ||
deployment.go | ||
deployment_test.go | ||
destroy.go | ||
detailedDiff.go | ||
detailedDiff_test.go | ||
doc.go | ||
engine.go | ||
errors.go | ||
events.go | ||
events_test.go | ||
eventsink.go | ||
import.go | ||
journal.go | ||
plugin_host.go | ||
plugins.go | ||
plugins_test.go | ||
progress.go | ||
progress_test.go | ||
project.go | ||
query.go | ||
refresh.go | ||
snapshot.go | ||
update.go | ||
update_test.go |