Skip to content
Fwozen

Docs

Gating deploys

The fwozen/deploy-gate check and the freeze-state endpoint, so a freeze stops the deploy as well as the merge.

Deploy gating stops a deploy while a freeze is in force, using the fwozen/gate-action step plus an endpoint any pipeline can poll. It works on every GitHub plan because it does not depend on GitHub’s native deployment protection rules, which need Enterprise for private repositories.

.github/workflows/deploy.yml
- uses: fwozen/gate-action@v1
  with:
    token: ${{ secrets.FWOZEN_TOKEN }}

Put it as the first step of any deploy job. The gate fails closed: a timeout, a non-2xx, or a missing Fwozen-Frozen header all count as frozen — a deploy gate that fails open is not a gate. Outside GitHub Actions, poll the same endpoint from any CI system:

Any CI system
curl -s https://api.fwozen.com/v1/freeze-state?repo=acme/api-server \
  -H "Authorization: Bearer $FWOZEN_TOKEN"
# => Fwozen-Frozen: true  (header — the deploy decision)
# => { "frozen": true, "allowDeployments": false, "reason": "4.2 release cut",
#      "endsAt": "2026-08-01T09:00:00Z" }

Deployment gating starts at Team. This page is expanding at launch with per-environment gating.

Last updated 29 July 2026