phase1: raise priority of tag builds
authorThibaut VARÈNE <hacks@slashdirt.org>
Mon, 13 Nov 2023 14:23:49 +0000 (15:23 +0100)
committerPetr Štetiar <ynezz@true.cz>
Thu, 16 Nov 2023 08:57:01 +0000 (09:57 +0100)
commit34b4378d9a6f3cad8e728e9e91ba163a716c451e
tree4670aae257aca354318eccdc9cdf08905ff2063a
parente07ee3e3586dfd6128749a6a42fe123c4bb467dd
phase1: raise priority of tag builds

Currently the buildmaster would only order tag builds within their own
branch, meaning that if e.g. a higher priority branch has normal
buildrequests (i.e. buildrequests comming from the AnyBranchScheduler),
and a lower priority branch has "tag" buildrequests (i.e. from the
Triggerable scheduler), the former builderequests would be served first,
deferring the build of e.g. release tags.

We want forced builds (release tag) to have maximum priority, regardless
of branch priority. This commit attempts to solve this problem by
leveraging the newly (as of buildbot 3.9.0) introduced "priority"
scheduler parameter, by raising the Triggerable scheduler buildrequests
priority, and then considering this higher priority in Builders' order.

The net result is that Builders are now prioritized if they have
pending higher priority buildrequest, still preserving the branch order.
In other words, tag requests are front run while preserving branch order,
meaning that if two branches have tag buildrequests, the higher priority
branch is still served first.

This requires buildbot 3.9.0

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
.github/workflows/build-push.yml
phase1/master.cfg