In an Argo workflow, I have a loop and I need to continue running the loop in case the output of a previous step has NOT been supplied yet. Until now, I couldn't find any way of performing this simple empty/null check. The following "when" expression:
when: "'{{steps.wait-completion.outputs.parameters.result}}' == ''"
never evaluates as expected because Argo returns the tag name as it is (without being substituted) if the value has not been supplied and then I get:
'{{steps.wait-completion.outputs.parameters.result}}' == ''' evaluated false
Is this a bug or a feature? Any ideas how I can perform such a check from the "when" expression? I also tried using the "default" tag to set a default but it seems to be ignored by the suspend step (another bug or another feature?)
I would really appreciate some ideas here. Thanks in advance!
What I tried:
when: "'{{steps.wait-completion.outputs.parameters.result}}' == ''"
What I expected:
When expression above evaluates to true if the output parameter "result" has not been supplied yet.
What I got:
'{{steps.wait-completion.outputs.parameters.result}}' == ''' evaluated false