This behavior seems wrong to me. What we want to do is run code lint when needed using parallel actions. If no files were changed that are appliable to a particular linter then it returns neutral status. We expect the remaining linters to continue as normal. However, they get cancelled automatically.
Here's our main.workflow file:
You can see the failure here: https://github.com/elegantthemes/submodule-builder/actions/workflow-runs/MDEwOkNoZWNrU3VpdGU2NjU0NDc...
I also just discovered this behavior and found out that it's documented in the official docs (emphasis mine):
> When an action returns [the neutral exit status], GitHub terminates all concurrently running actions and prevents any future actions from starting.
The failure exit status shares the same behavior:
> When an action fails, all concurrent actions are cancelled and future actions are skipped.
I don´t know if it´s just me but this makes no real sense. The previous behavior was way more flexible for me.
@mcolyerDo you have any information about that?
Yeah, I've got the same observation. It's not documented explicitly anywhere, so I'm not sure whether it's expected or not. But +1 for making "filter" actions cancel only its branch, not parallel subflows...
Run into the same issue right now and in my opinion it does not make sense to cancel parallel tasks on a neutral exit...
As pointed out above, it is documented and intentional behavior. I've passed along the feedback to the developers but can't make any promises on when or even if this behavior will be changed. For now, if you need parallel subflows to continue when a neutral status is returned, you may want to consider breaking them out into separate workflows.