Cleanup actions run on total success or a single failure. If you then use tronctl skip my_job.5.failed_action, then the cleanup action doesn't run again because it has already been marked SUCCESS.
In my opinion it should run both times, with the second time either overwriting the previous output, or creating a new action dynamically called cleanup_action_2.