Scope of `when: always` config syntax change

I saw the notice about Dynamic When Statements this morning and just wanted to confirm whether this change only affects when statements under workflows, versus e.g. the when attribute of a step. The announcement post says " This is equivalent to removing the when key from your workflows." which I think is true for the workflows section but not for individual steps.

1 Like

I see the banner now says

Notice: If you are using “when: always” in your workflow filters, update to “when: true” to avoid configuration failures

and links to the workflow config docs — thank you! The changelog entry also adds

NOTE: When in Steps are not impacted by this change.

which answers my original question.

However, I’m still a little confused. Unlike the banner, the changelog says “To avoid your config failing to be processed you must remove the when from your workflows, which is equivalent to the prior behaviour”. Are we supposed to replace when: always with when: true or just remove it, or does it not matter? My read of this is that either would be fine, and it’s just when: always that is about to break.

If you don’t include when: true then the workflow will always run. When: true and no when statements are the equivalent result. Sorry for the confusion.

2 Likes