Cleanup job help, please! Which runner to clean-up?

I have no idea what I’m doing, so please excuse me if I have something fundamentally wrong in my process here - I’ll be more than happy to address it if pointed in the right direction.

I’m trying to setup a pipeline to -

test
deploy_review
deploy_staging (manual)
deploy_prod (manual)

The script is running docker-compose for me and then doing some initial DB creation execs and such.

Those have the potential to fail - well, so do the tests for that matter. Now the tests failing is easy, I just figured out I can just add an after_script to do a docker-compose down and we’re all cleaned up.

The deploy_review isn’t so easy though - I obviously don’t want an after_script that brings it down, because I’m trying to deploy it to review - I’d like to clean up on fail though … so yes, I figured out I could have a subsequent cleanup job that runs on_failure, but here’s the kicker - I’ve got 6 runners, and my tests, can run on any of my 3 ‘dev’ runners - again, tests aren’t the issue, they can be handled with an after_script - but if the deploy_review, deploy_staging or deploy_prod fails, is there any way I can tell my cleanup job which runner needs to be cleaned up?

Sorry if this makes no sense, it’s been a LONG day of trying to get this first pipeline I’ve ever made working … brain no work now well.

Any help would be greatly appreciated!