fix: enclave manager passing in deprecated args object #2342
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The enclave builder would fail to render packages that used
def run(plan, args)
where starlark in the package depended on values inargs
being set. This was because the enclave manager was passing args to interpretation using via anargs
. The use ofargs
dict as sole input is deprecated.While it's deprecated we still support it for backwards compatibility but everything in
args
is dropped - which caused the failure. This PR fixes it by unpacking the values inargs
so enclave builder passes them as unpackedkwargs
to interpretation, as opposed to using the sole deprecatedargs
dict.I've also added a test to highlight this behavior.
will error when passing input with only
args
{"args": {"arg1": "arg1-value", "arg2": "arg2-value"}}
Is this change user facing?
NO