Skip to content

Wait for CI before a deployment

Reoclo can wait for your CI checks before it runs an automatic deployment. This is the CI gate.

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.

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, set ci.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.

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.

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.

Check resultWhat Reoclo does
Every check succeeds, or is neutral or skippedReoclo runs the deployment.
A check fails, is cancelled, times out, needs action, or goes staleReoclo cancels the deployment at once, with the reason “CI failed: <check names>”.
No check appears within 3 minutesReoclo 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 minutesReoclo cancels the deployment, with the reason “CI did not finish within 60 minutes”.

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.

”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 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.