Multi account deployments using artifacts - questions and recommendations

Greetings all

Our qa / stage / production environments are in seperate AWS accounts [I have good reasons for this].

Thus far we’ve been building (recompiling) our code prior deployment for each environment, it works, however I think there are some good gains to be made by building once and deploying the same artifact everywhere.

However during my discoveries, it seems like (and this is my assumption) that you can’t really build a single artifact and deploy it to multiple accounts due to the cloudformation state being per account & stage [Or am I wrong here?]

My other question is how to deal with rollbacks?

Scenario, we just rolled out a change, discovered there is a flaw and want to rollback to previous deployment [Yes this can be done with lambda versioning]. But I do like the idea of what’s in code/GIT is a representation of what’s in an environment. Currently we’ll revert a change, build and redeploy. But it would have been super cool to choose a given artifact and just deploy that.

I’m keen to hear other people’s solutions / implementations around this.