-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
allow unknowns in apply during update #15898
Conversation
Currently during updates we try to make the values known during apply, even if they are marked unknown. This results in knows that should really still be unknown. Note that this behaviour is currently encoded in tests, which also needed to change.
Changelog[uncommitted] (2024-04-10)Features
|
assert.strictEqual(await r.promise(), "inner"); | ||
}); | ||
|
||
it("propagates secret on unknown known output", async () => { |
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.
This feels a bit unintuitive, but these tests don't make sense if we are allowing unknown outputs. There will not be any value, so there's nothing to be secret.
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.
This probably needs a changelog to point it out just in case anyone does notice odd behaviour after this releases.
Yup added that now. I also did the same for Python now. Go seems to behave differently already if I read that right, so I didn't make any changes there yet. |
4748af6
to
fcc5c3a
Compare
Tentative changelog: ### Features - [cli] Support always fully qualifying stack names in CLI output [#15857](#15857) - [cli] Add --no-plugins and --no-dependencies to `pulumi install` [#15910](#15910) - [docs] Implement Java constructor syntax examples [#15805](#15805) - [sdk/nodejs] Make TypeScript and ts-node optional peer dependencies to allow using user specified versions [#15622](#15622) - [sdk/{nodejs,python}] Allow apply to have unknown values during updates [#15898](#15898) - [sdk/python] Adds 'typeChecker' runtime option to the Python language host [#15725](#15725) ### Bug Fixes - [auto] Tolerate missing stack and bookkeeping files in ProgramTest. [#15863](#15863) - [cli] Fix a panic when user's home directory could not be looked up [#15872](#15872) - [cli] Fix some commands that didn't respect `--disable-integrity-checking` - [programgen/dotnet] Removes trailing whitespace from emitted DependsOn resource option expressions [#15892](#15892) - [auto/go] Avoid flakyness when reading the event log from pulumi commands [#15856](#15856) - [sdk/go] Fix Provider and Providers options in Go transform functions [#15885](#15885) - [sdk/nodejs] Handle serialization of aliases for well known native functions [#15873](#15873) - [sdk/nodejs] Correctly serialise functions whose code would make use of reserved identifiers [#15879](#15879) - [sdk/nodejs] Serialize function values obtained from Function.bind [#15887](#15887) - [sdk/python] Improve types of getters in Python SDK [#15865](#15865) - [sdkgen/{dotnet,go}] Fixes SDK-generation when referencing shared types in config variables [#15772](#15772) ### Miscellaneous - [sdk/nodejs] Update builtin module list for function serialization [#15830](#15830) - [sdk/nodejs] Set package.json engines to node >= 18 [#15845](#15845)
### Features - [cli] Support always fully qualifying stack names in CLI output [#15857](#15857) - [cli] Add --no-plugins and --no-dependencies to `pulumi install` [#15910](#15910) - [docs] Implement Java constructor syntax examples [#15805](#15805) - [sdk/nodejs] Make TypeScript and ts-node optional peer dependencies to allow using user specified versions [#15622](#15622) - [sdk/{nodejs,python}] Allow apply to have unknown values during updates [#15898](#15898) - [sdk/python] Adds 'typeChecker' runtime option to the Python language host [#15725](#15725) ### Bug Fixes - [auto] Tolerate missing stack and bookkeeping files in ProgramTest. [#15863](#15863) - [cli] Fix a panic when user's home directory could not be looked up [#15872](#15872) - [cli] Fix some commands that didn't respect `--disable-integrity-checking` [#15911](#15911) - [programgen/dotnet] Removes trailing whitespace from emitted DependsOn resource option expressions [#15892](#15892) - [auto/go] Avoid flakyness when reading the event log from pulumi commands [#15856](#15856) - [sdk/go] Fix Provider and Providers options in Go transform functions [#15885](#15885) - [sdk/nodejs] Handle serialization of aliases for well known native functions [#15873](#15873) - [sdk/nodejs] Correctly serialise functions whose code would make use of reserved identifiers [#15879](#15879) - [sdk/nodejs] Serialize function values obtained from Function.bind [#15887](#15887) - [sdk/python] Improve types of getters in Python SDK [#15865](#15865) - [sdkgen/{dotnet,go}] Fixes SDK-generation when referencing shared types in config variables [#15772](#15772) ### Miscellaneous - [sdk/nodejs] Update builtin module list for function serialization [#15830](#15830) - [sdk/nodejs] Set package.json engines to node >= 18 [#15845](#15845)
Currently we reject all unknowns during `pulumi up`. However we are soon going to allow them to come through via `up --continue-on-error`, and thus should no longer error out when we have them. This is a similar preparatory PR to #15898, except that Go deals with the unknowns a little different, so we don't need to treat apply specially, but the marshalling.
### Features - [auto/{go,nodejs,python}] Add support for continue-on-error parameter of the destroy command to the Automation API [#15921](#15921) - [cli] Support always fully qualifying stack names in CLI output [#15857](#15857) - [cli] Add --no-plugins and --no-dependencies to `pulumi install` [#15910](#15910) - [docs] Implement Java constructor syntax examples [#15805](#15805) - [sdk/nodejs] Make TypeScript and ts-node optional peer dependencies to allow using user specified versions [#15622](#15622) - [sdk/{nodejs,python}] Allow apply to have unknown values during updates [#15898](#15898) - [sdk/python] Add 'typeChecker' runtime option to the Python language host [#15922](#15922) [#15725](#15725) ### Bug Fixes - [auto] Tolerate missing stack and bookkeeping files in ProgramTest [#15922](#15922) [#15863](#15863) - [cli] Fix a panic when user's home directory could not be looked up [#15872](#15872) - [cli] Fix some commands that didn't respect `--disable-integrity-checking` [#15911](#15911) - [programgen/dotnet] Remove trailing whitespace from emitted DependsOn resource option expressions [#15922](#15922) [#15892](#15892) - [auto/go] Avoid flakyness when reading the event log from pulumi commands [#15856](#15856) - [sdk/go] Fix Provider and Providers options in Go transform functions [#15885](#15885) - [sdk/nodejs] Handle serialization of aliases for well known native functions [#15873](#15873) - [sdk/nodejs] Correctly serialise functions whose code would make use of reserved identifiers [#15879](#15879) - [sdk/nodejs] Serialize function values obtained from Function.bind [#15887](#15887) - [sdk/python] Improve types of getters in Python SDK [#15865](#15865) - [sdkgen/{dotnet,go}] Fix SDK-generation when referencing shared types in config variables [#15772](#15772) [#15922](#15922) ### Miscellaneous - [sdk/nodejs] Update builtin module list for function serialization [#15830](#15830) - [sdk/nodejs] Set package.json engines to node >= 18 [#15845](#15845)
Currently during updates we try to make the values known during apply, even if they are marked unknown. This results in knows that should really still be unknown.
Note that this behaviour is currently encoded in tests, which also needed to change.