Are workflows supposed to support booleans, or not? Specific example: suppose a step sets an output using
::set-output name=foo::false, should a
if: steps.bar.outputs.foo evaluate that as true or false?
The actions docs suggest false should be evaluated as a boolean:
However my testing shows that not to be the case, example workflow  shows that ‘false’ is actually evaluated as true as per this run .
Some discussions on this board suggest that this is intentional, false is just treated as a string (which is understandable - if surprising), e.g. here:
But then there’s this example from 2019 (by a Github staffer) that implies that false is actually evaluated as false (unfortunately the logs have expired, but I’m assuming that it worked as intended):
I actually copied that workflow here but it runs both jobs .
TL;DR: is treating false as a string REALLY the intended behaviour - or is this just a regression since 2019? If yes: I was thinking about updating the docs to make this explicit, but given that at least one Github staffer is implying that booleans should work I figure it was worth trying to clarify things here first.
Sorry for the link mangling below: I’m a new user and am therefore limited to 2 links per post. Replace GH with github DOT com in the links below: