Hello!

Cayetano Santos <[email protected]> skribis:

>   A bit of background. CI farm builds every single pull request (pr)
>   which doesn’t impact more than 300 dependent¹: on success, the pr is
>   merged in master ... and rebuild back again, consuming computing
>   resources (see guix/guix!9274, for example).

That’s not exactly true.  Currently, pulls.ci.guix.gnu.org
(aka. @guix-cuirass-bot) has no limit and that’s a limitation that will
be addressed in Cuirass 1.4:

  https://codeberg.org/guix/cuirass/issues/30

In the meantime, I enforce a limit… by hand (canceling evaluations with
more than 1,000 builds or so).

Note that pulls.ci currently runs on a single x86 machine with 92 cores:

  https://codeberg.org/guix/maintenance/pulls/49

It’s becoming insufficient, but it’s also rather frugal. :-)

>   Beyond the current 300 threshold, a pr should be send to a topic
>   (team) branch; once every few, all the branch is built, all of its pr
>   in a raw. On success, the branch is merged in master: available
>   binaries are then available as substitutes, no extra computing
>   resources are used².
>
>   Teams, branches and Guix QA³ are a great idea, and way more computing
>   efficient than processing individual pr. This is why I’m proposing
>   here a slightly different strategy to alter the fraction of changes
>   which fall into each category (see guix/guix!9314).
>
>   - Reduce the current threshold from 300 to 150 dependents

The problem is that there’s a lot of friction involved with topic
branches: one needs to get a committer to actually create the branch,
someone must email [email protected] (despite it being officially
turned off in January 2026), optionally get someone to set up a jobset
on ci.guix, monitor qa.guix.gnu.org to find out when the topic branch is
next in line for merging, and finally get a committer to merge it.

I think we should work to streamline this process, at least by getting
guix-patches out of the loop.

I don’t have a clear view on how to change the process, but I would
rather not change the threshold until we’ve figured this out.

Thoughts?

Ludo’.

Reply via email to