Hi Guix,

  We do afford limitations on what concerns available computing
  resources: it would be great if we could speed up CI tests, as well as
  the processing of team pipelines. Both features are great, but take
  quite a long time to run. New hardware will improve the situation, but
  there is probably something we can do from our side, in terms of
  workflow optimisation. This pr is an attempt to improve current
  situation.

  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).

  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
  - Impose a threshold on patch version upgrades⁴ (see ‘patch-upgrade’
  - codeberg tag)

  I’m assuming here that releasing CI computing resources will, first,
  make it more reactive in terms of delay to process incoming new pr;
  second, QA pipelines will execute faster, and this is something we
  definitely need; third, we will reduce the monthly bill. Note that the
  extra overload on branches will be compensated by reduced merge
  cycles.

  Finally, in guix/guix!9314 I’m also proposing a new homeless team, as a
  host for modules not below the umbrella of any other team. This comes
  to concretizing the ‘misc-world-rebuild’ current QA strategy (see also
  the ‘world-rebuild’ codeberg tag).

  Thoughts, alternatives or improvements ?

  Hoping that this couple of changes will make things a bit lighter⁵,

Cayetano

[1] 
https://guix.gnu.org/manual/devel/en/html_node/Managing-Patches-and-Branches.html
[2] https://codeberg.org/guix/guix/issues/9098#issuecomment-16666955
[3] https://qa.guix.gnu.org/
[4] https://semver.org/
[5] https://yhetil.org/guix-devel/[email protected]/t/#u

--
Cayetano Santos
.
gpg: CCB8 1842 F9D7 058E CD67 377A BF5C DF4D F6BF 6682
key: meta.sr.ht/~csantosb.pgp

Attachment: signature.asc
Description: PGP signature

Reply via email to