Wait for CI before a deployment
Reoclo can wait for your CI checks before it runs an automatic deployment. This is the CI gate.
What the gate does
Section titled “What the gate does”When the CI gate is on, Reoclo holds a push-triggered deployment until every check on the commit finishes. Reoclo runs the deployment after every check succeeds. Reoclo cancels the deployment as soon as one check fails.
Turning it on
Section titled “Turning it on”Turn on the CI gate in any of these three places.
- In the application’s settings, next to Auto deploy, turn on Require CI checks to pass.
- In a stack’s settings, turn on Require CI checks to pass for the stack.
- In
reoclo.yml, setci.require_checks: true. See the reoclo.yml reference.
When reoclo.yml sets ci.require_checks, that value wins over the dashboard setting. The dashboard shows Set by reoclo.yml when this happens. When the file does not set the key, the dashboard setting applies.
For a stack, a ci.require_checks value in any member’s reoclo.yml applies to the whole stack. When the files disagree, an explicit true wins. When no member file sets the key, the stack’s own toggle applies.
Which deployments wait
Section titled “Which deployments wait”Only a push-triggered deployment waits for CI. A manual deployment never waits.
A manual deployment replaces a waiting deployment on the same branch. A newer push to the same branch also replaces a waiting deployment.
Which checks count
Section titled “Which checks count”Reoclo counts every check on the commit.
- On GitHub: check runs and commit statuses.
- On Gitea: commit statuses, including statuses that Gitea Actions posts.
Reoclo ignores its own reoclo/* statuses when it counts checks.
What happens while Reoclo waits
Section titled “What happens while Reoclo waits”| Check result | What Reoclo does |
|---|---|
| Every check succeeds, or is neutral or skipped | Reoclo runs the deployment. |
| A check fails, is cancelled, times out, needs action, or goes stale | Reoclo cancels the deployment at once, with the reason “CI failed: <check names>”. |
| No check appears within 3 minutes | Reoclo runs the deployment anyway, with the note “No CI checks reported within 3 minutes; deployed without a CI gate”. |
| A check is still pending after 60 minutes | Reoclo cancels the deployment, with the reason “CI did not finish within 60 minutes”. |
What the dashboard shows
Section titled “What the dashboard shows”The deployment list shows Waiting for CI, with a summary such as “1 passed, 1 pending”. A cancelled deployment shows its cancellation reason.
A deployment that ran because no checks appeared shows a No CI gate badge. The badge marks a gate that opened without a verdict: a disabled workflow, or a trigger that does not match the branch, removes the gate instead of blocking the deployment.
When Auto deploy is on and the CI gate is off, the settings page shows a warning. A push then deploys even when checks fail or report nothing.
Open the deployment to see each check, its state, and a link to that check on your git provider.
Troubleshooting
Section titled “Troubleshooting””Could not read CI checks from the git provider”
Section titled “”Could not read CI checks from the git provider””Reoclo shows this message when it cannot read the checks on the commit. The deployment keeps waiting. The 60 minute timeout still applies.
On GitHub, accept the Checks: read and Commit statuses: read permissions for the Reoclo GitHub App. An organization owner must accept a new permission request before Reoclo can read checks again.
On Gitea, reconnect the provider or grant it read access to the repository.
Gitea checks never arrive
Section titled “Gitea checks never arrive”Gitea sends the status webhook event only when a webhook subscribes to it. Ask your administrator to update the webhook events on the repository. Reoclo evaluates a waiting deployment every 30 seconds regardless, so an old webhook only adds a short delay.
Next Steps
Section titled “Next Steps”- reoclo.yml reference for the
cikey - Deployment Status on GitHub and Gitea for what Reoclo posts back to your commit
- GitHub App Setup to review or accept App permissions