help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guarantee of no broken dependencies?


From: Maxim Cournoyer
Subject: Re: Guarantee of no broken dependencies?
Date: Fri, 10 Nov 2023 09:22:24 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

Hi Peter,

Peter Polidoro <peter@polidoro.io> writes:

> For every commit to the Guix master branch, is there a guarantee that
> there are no packages with broken dependencies?

There's no strong guarantee; we rely on people having well tested their
changes and reviewing what QA had to say about it.  Any unexpected
breakage can be caught by Cuirass notifications and hopefully acted on
quickly.

In the future, we'd want to have QA and or Cuirass gate the merge, to
ensure the change (and all impacted packages) were properly built before
being merged.

> I have not experienced packages with broken dependencies, so I am
> curious how that is checked. In theory, someone could make a commit
> that accidentally breaks other packages correct? Aren’t most inputs
> just found by name, not name and version or hash?

The inputs are referenced exactly, via their Scheme variable name.

> Do packages not get broken, though, because right before every commit
> the updated package is built, along with every package that depends on
> the updated package? Is that enough to make sure all dependencies are
> fine? There are no race conditions with other people making updates at
> the same time?

No race condition, thanks to Git; but after rebasing a change on master,
it should be rebuilt and retested ideally.

> How can we do such a consistency check or have such a guarantee when
> we use multiple channels? Does we just rebuild every package in every
> non-Guix channel every time we update Guix to find out what breaks?

I'd suggest setting up a private Cuirass instance testing your channel.
That's actually easier painful than it sounds.

-- 
Thanks,
Maxim



reply via email to

[Prev in Thread] Current Thread [Next in Thread]