wiki: claim order and per-account caps as open decisions !357

merged merged by cmc on 2026-09-10 01:12 UTC · krz/gitbay:wiki-206-207 into main

2 files changed, +19 −4

Layout: unified · split

.gitbay/wiki/Admin.org +11
@@ -393,6 +393,17 @@ narrows within that set, which is what makes a runner outside the server
393practical: one on a machine that should build a single project, or that 393practical: one on a machine that should build a single project, or that
394holds credentials for one deployment, stays on it. 394holds credentials for one deployment, stays on it.
395 395
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
396#+begin_src sh 407#+begin_src sh
397gitbay-runner -remote git@gitbay.org -repos krz/site,krz/docs \ 408gitbay-runner -remote git@gitbay.org -repos krz/site,krz/docs \
398 -workdir /var/lib/gitbay-runner/work 409 -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:
21 =build abandoned=. 21 =build abandoned=.
22 22
23Which runner takes a build is the fourth: a build is claimed only by a 23Which 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 24runner attached to its repository (or one polling with a full-scope
25an untrusted build only by one started with =-untrusted=. A repository 25admin key), and an untrusted build only by one started with
26with no runner attached queues builds nothing claims. See the Users 26=-untrusted=. A repository with no runner attached queues builds
27page. 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.
28 32
29Scheduled jobs run on their cron against the default branch, never on 33Scheduled jobs run on their cron against the default branch, never on
30push; a default-branch push registers or updates them. Tag jobs run on 34push; a default-branch push registers or updates them. Tag jobs run on