We’ve followed the official instructions for integrating Slack notification using the official orb:
- In our workflow, each job has a
post-stepsaction 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.
I’d like this to get some attention. While I know nothing about CircleCI’s internals, it sounds quite trivial to implement.