Build promotion and job dependencies with multiple environments in a single pipeline
I have a CloudFormation stack that underlies several environments (each with development, testing, production copies). Is it possible to enforce builds to be (manually) promoted through environments in Gitlab? [This example] (https://docs.gitlab.com/ce/ci/img/environments_manual_action_single_pipeline.png) allows manual deploys into specific environments, but with all manual steps, in this example, prod could be deployed without staging. Or should I be structuring this completely differently?
What I'm trying to achieve:
Stage
build deploy-dev deploy-staging
------------------------------------------------
(build) --+-- (env1-dev) ------ (env1-staging)
\-- (env2-dev) ------ (env2-staging)
E.g. env2-staging can only be deployed once env2-dev has been deployed