// the find
trstringer/manual-approval
Pause your GitHub Actions workflow and request manual approval from set approvers before continuing
A GitHub Action that pauses a workflow and waits for named approvers to comment 'approved' or 'denied' on an auto-created issue before continuing. It exists because GitHub's built-in environment approval gates are locked behind Enterprise for private repos. Simple idea, well-executed.
The polling-based approach is correct for this use case — no webhooks to configure, no external services, just the GitHub API the action already has access to. The `minimum-approvals` parameter is a good escape hatch for teams where you want quorum rather than unanimity. Supporting org teams as approvers (with the GitHub App token path) covers real enterprise setups, not just individual users. The `exclude-workflow-initiator-as-approver` flag shows the author thought about the self-approval problem, which most similar tools miss.
The action holds a running runner for its entire wait duration — you're burning compute minutes the whole time an approver is at lunch. This is called out in the docs but is a real cost problem for teams with slow approval cycles. GitHub App tokens expire after 1 hour, which means the org-team approver path completely breaks for any deployment that takes longer than coffee to approve; this is a fundamental limitation with no good workaround. The issue-comment-as-approval mechanism is fragile — any comment containing 'yes' from an approver will trigger it, with no confirmation step, so a typo in an unrelated comment can inadvertently approve a production deployment.