Coming from GitHub Actions I would expect a predictable way to conditionally run a dependent step.
Something like continue_on_failure
or more precise control via depends_on[0].allow_failure
works fine in most cases but not for TIMED_OUT
, CANCELLED
and possibly others. This is extremely frustrating and non-obvious from its key nor the docs.
What do I see as a solution? Something like the status check functions (i.e. always
, failure
, cancelled
and success
) that are available in the in GitHub actions if
block. This is clear and undeniable when these steps will run, where continue_on_failure
leaves room for interpretation. These also have more granular control via the conclusion
prop (e.g. steps.demo.conclusion == 'failure'
).