We’ve followed the official instructions for integrating Slack notification using the official orb:
- In our workflow, each job has a
post-steps
action that notifies Slack on failure. - We then have a single “fan-in” workflow job, which depends on all the other jobs, and which notifies on success.
Unfortunately, this obviously has a big glaring problem: If multiple jobs fail, Slack messages are spewed all over the place. We are currently in a situation where a single run can result in 6 Slack messages. This obviously isn’t an acceptable solution for a modern CI system. Being able to execute a job regardless of whether its dependencies succeeded or failed should be a trivial thing.
Right now the only possible workaround appears to be to handle errors yourself, then write to a workspace file which you inspect in the final “fan-in” job. This has a big problem, as far as I can see, in that failing jobs will appear to succeed. Which isn’t acceptable, either.
This missing feature has been reported lots of times, with no activity or solution, e.g. here and here.
I’d like this to get some attention. While I know nothing about CircleCI’s internals, it sounds quite trivial to implement.