Bug
The run-smoke, run-developer, and run-software DAG tasks in bluefin-qa-pipeline use a when expression with the contains operator, which is not a valid operator in Argo Workflows' expression evaluator.
Error
Invalid 'when' expression ''smoke' contains 'smoke'': Cannot transition token types from STRING [smoke] to VARIABLE [contains]
Root Cause
Argo's when field uses a limited expression evaluator (govaluate-based) that does not support contains as an infix operator. The contains operator is only valid for array membership checks, not string substring matching.
Affected lines
bluefin-qa-pipeline.yaml, run-smoke / run-developer / run-software tasks:
when: "'\{\{workflow.parameters.suites\}\}' contains 'smoke'"
Fix
Replace contains with =~ (regex match):
when: "'\{\{workflow.parameters.suites\}\}' =~ 'smoke'"
The suites parameter is a comma-separated string like "smoke" or "smoke,developer", so a regex substring match is equivalent to the intended behavior.
Bug
The
run-smoke,run-developer, andrun-softwareDAG tasks inbluefin-qa-pipelineuse awhenexpression with thecontainsoperator, which is not a valid operator in Argo Workflows' expression evaluator.Error
Root Cause
Argo's
whenfield uses a limited expression evaluator (govaluate-based) that does not supportcontainsas an infix operator. Thecontainsoperator is only valid for array membership checks, not string substring matching.Affected lines
bluefin-qa-pipeline.yaml,run-smoke/run-developer/run-softwaretasks:Fix
Replace
containswith=~(regex match):The
suitesparameter is a comma-separated string like"smoke"or"smoke,developer", so a regex substring match is equivalent to the intended behavior.