Commit 7a667c7b40

7a667c7b40578f9e76675c36ac11f236a882d711

parent: d8b021023e

Verified · cmc ci/build: success ci/test: skipped

cmc <hello@cleberg.net> · 2026-09-10 01:12 UTC

wiki: claim order and the missing per-account cap, as open decisions

Admin and CI say oldest-first is across everything a key may claim and
that nothing caps what an account queues, pointing at #207 and #206.

Ref #206, Ref #207
.gitbay/wiki/Admin.org +11
@@ -393,6 +393,17 @@ narrows within that set, which is what makes a runner outside the server
393393practical: one on a machine that should build a single project, or that
394394holds credentials for one deployment, stays on it.
395395
396Oldest-first is across everything the key may claim, so a repository
397with a deep queue holds every other repository the same runner serves;
398bay1 measured a 15-minute average wait on a day of merge request
399stacks from one repository. A runner attached to one repository cannot
400be starved. Whether a runner serving several rotates across them is
401krz/gitbay#207. Nothing caps what an account queues: builds pending at
402once and schedule intervals down to a minute are unbounded, and a
403build nothing claims stays pending. Since a build runs only on a
404runner its owner attaches, the cost is rows and the queue numbers on
405=admin runners=, not compute; a per-account cap is krz/gitbay#206.
406
396407#+begin_src sh
397408gitbay-runner -remote git@gitbay.org -repos krz/site,krz/docs \
398409 -workdir /var/lib/gitbay-runner/work
.gitbay/wiki/CI.org +8 −4
@@ -21,10 +21,14 @@ Three mechanisms decide what a push does to CI, and they interact:
2121 =build abandoned=.
2222
2323Which runner takes a build is the fourth: a build is claimed only by a
24runner attached to its repository (or an instance admin's runner), and
25an untrusted build only by one started with =-untrusted=. A repository
26with no runner attached queues builds nothing claims. See the Users
27page.
24runner attached to its repository (or one polling with a full-scope
25admin key), and an untrusted build only by one started with
26=-untrusted=. A repository with no runner attached queues builds
27nothing claims. See the Users page. Among what a runner may claim it
28takes the oldest pending build; per-repository rotation when one
29runner serves several is krz/gitbay#207. There is no cap on how many
30builds an account queues or how often a schedule fires; that is
31krz/gitbay#206.
2832
2933Scheduled jobs run on their cron against the default branch, never on
3034push; a default-branch push registers or updates them. Tag jobs run on