liveBook · Manning

Approval decision

As explained in GitHub Actions in Action: Continuous integration and delivery for DevOps

A manual approval is an explicit human authorization required before a protected operation, such as a deployment, proceeds.

Manual approval is a human gate before a protected operation proceeds. In a deployment workflow, an environment can require one or more designated approvers; the deployment job does not start until approval is recorded. The recorded decision provides traceability for the deployment and its authorization. section 9.2.2

Use this gate after deployment and verification, before exposing software to users. Approvals may be manual, automated, or combined, so a manual decision can complement quality checks rather than replace them. section 9.1

Configure a manual deployment gate by:

  • Selecting the target environment and requiring approval before a workflow may enter it. section 9.2.2
  • Assigning multiple approvers when several people must authorize the release. section 9.2.2
  • Optionally adding a wait period before the job starts, supporting staggered releases and gradual traffic ramp-up. section 9.2.2
  • Restricting environment jobs to an approved branch or requiring custom protection checks where runner or workflow risk warrants stronger controls. section 6.2

Approval gates support governed delivery, especially where an auditable authorization is required. They also help separate duties: branch protection can require pull-request approval before merging, while environment approval can independently control deployment. section 9.2.2 section 11.2

Protected production release

After a release is deployed and verified, the production environment waits for its configured approvers. Once they approve, GitHub records the authorization and starts the deployment job; a configured wait timer can delay that start for a staged rollout. section 9.2.2 section 9.1

Figure 9.3 Configuring approvals

Use the environment approval configuration view to identify where approvers and deployment waiting behavior are defined. section 9.2.2

How GitHub Actions in Action: Continuous integration and delivery for DevOps covers it

How deep it goes
Explains environment approvers, job blocking, audit traceability, and wait timers without detailing configuration syntax.
Examples
Uses a post-verification production release with multiple approvers and an optional staggered-release wait timer.
What you can do after
Operate/configure GitHub environments to hold deployment jobs until recorded human authorization is given.
How it connects
Connects environments, continuous delivery, environment protection rules, branch protection rules, and the four-eyes principle.

Also explained in

Compare how 2 books explain approval decision →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of GitHub Actions in Action: Continuous integration and delivery for DevOps. The section links point to the parts of the book it draws on.