GitHub Actions Deploy Workflow With Approval Gates
Plan and draft a GitHub Actions deployment workflow with environments, manual approvals, secrets handling and a rollback path.
The Open buttons send the prompt text as currently shown below to that site only when you click. Fill in the placeholders first.
[VERIFY] is an editorial flag, not a blank to fill. Wherever the prompt shows [VERIFY], check that item against a reliable source before you use it.
Help me design a safe deployment workflow in GitHub Actions. What we deploy and where: [DEPLOY_TARGET]. Environments we need (staging, production, others): [ENVIRONMENTS]. Who may approve a production deploy: [APPROVERS]. How we authenticate to our cloud or host: [AUTH_METHOD]. Current deployment steps by hand: [MANUAL_STEPS]. Acceptable downtime: [DOWNTIME_TOLERANCE]. Provide, in order: a plain-language flow diagram in text arrows from merge to production; a draft workflow YAML in a code block with a staging job that runs automatically, a production job that waits for manual approval through an environment, and clear job dependencies; a table of secrets and variables with the columns Name, Used by, Scope (repository or environment), Rotation owner; a rollback plan with numbered steps; and a pre-flight checklist. Prefer short-lived credentials over stored long-lived keys where my host supports it, and explain the idea in two sentences [VERIFY]. Everything about environment protection rules, approval features, token permissions and OIDC support depends on plan and provider, so flag these [VERIFY]. Never put real secret values in the output; use placeholder names only. Do not invent deployment commands for hosts I did not name; leave a marked placeholder step. Test the workflow first on a non-production target. This is engineering guidance and does not replace a security review. Add a worked example with invented figures: 2 environments, a 3 minute staging deploy, a 10 minute approval wait, a 4 minute production deploy, and compute the time from merge to live.
Fill in before use
Optional: type your details and the prompt above updates. Nothing is saved or sent.
Replace each bracketed placeholder with your own details, then paste into Any AI or another assistant.