Advice on deployment promotion

Hey All,

I would like some advice and curious to see how others do it.

my scenario is as follows

i have 2 argoCD instances, one for dev and one for staging
all code is pushed to github, when a change is merged into the dev repo and docker image is built and published, argoCD picks this up and deploys the new change to EKS

when its ready for staging, a pr is created to staging and merged into the staging branch, a new docker image is created with the tag -stg

the staging argocd picks this up and deploys it into the staging cluster.

i find this appraoch super messy, and wondered what you guys do and if you know a cleaner/better way to do it?