Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deserialize null to tool parameter default value
I'm not 100% certain about this commit, but it does make some sense: We might be setting optional step outputs to null if they're not provided or if they are provided as null. We do have tests that require that tool default values are used when an optional parameter is not provided, so it seems like this is a necessity. The advantage is that this is pretty easy to reason about, the downside is that you can't provide a null value to an optional parameter that specifies a non-null default value. This might seem nonsensical at first since you might just drop the default value, but if a tool can accept null but the default should be not-null, you still might want to override the default with a null (in a workflow or tool run). An alternative fix would need to distinguish unset and null, and would need to persist the unset value in the database, or we'd have to rework the scheduling code so that unset step outputs don't cause scheduling errors. Maybe this is good enough for now ?
- Loading branch information