Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Orchestrating Renovate, Dependabot, release PRs and tests on main: a priority queue for GitHub Actions

Description and use

In a repo with multiple bots and manual PRs, CI runs in arbitrary order, causing wasted builds and deployment conflicts. The boarding‑gate composite action implements a priority queue, limiting concurrent runs and ensuring the release PR merges after all changes.

Problem

Multiple automated and manual pull requests merge into main in arbitrary order, causing wasted CI runs, deployment collisions, and stalled release PRs.

Outcome

Implementing boarding‑gate reduces CI waste, prevents deployment collisions, and ensures release PRs merge after all other changes.

Workflow

  • Enable branch protection with "Require branches to be up to date before merging".
  • Add boarding‑gate composite action as the first job in each workflow.
  • Configure label‑weights to set priorities (e.g., urgent=10, renovate=-5).
  • Set require‑up‑to‑date=true to fail or rebase stale branches.
  • Set update‑pending‑branches=true to rebalance queue after merges.
  • Use concurrency group to cancel stale runs.
  • Add status‑context to report queue position.

Evidence

If CI deploys something real, a cloud stack, a staging environment, a Terraform state, it is not fine.

Source

Every merge costs one run per remaining open PR, so merging n PRs costs on the order of n²/2 runs.

Source

boarding‑gate is a composite action that enforces exactly that rule for one workflow.

Source

  • Record date: 2026-11-03T19:29:01.775Z