GNU bug report logs - #63413
Stop and restart builds in cuirass

Previous Next

Package: guix;

Reported by: Andreas Enge <andreas <at> enge.fr>

Date: Wed, 10 May 2023 10:30:03 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63413 in the body.
You can then email your comments to 63413 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#63413; Package guix. (Wed, 10 May 2023 10:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andreas Enge <andreas <at> enge.fr>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 10 May 2023 10:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: bug-guix <at> gnu.org
Subject: Stop and restart builds in cuirass
Date: Wed, 10 May 2023 12:28:55 +0200
Stopping and starting builds in cuirass is not very comfortable.

When working on core-updates, I stopped builds for some old evaluations
on aarch64, where our build power would not be enough, assuming that many
of the old builds were made obsolete by newer changes. (For instance,
these could be builds in branches that were already merged to master.)

However, this also stopped the builds that were not obsolete. And if the
derivation was unchanged in a later evaluation (or a different branch),
it would be kept as failed and not be restarted. I would argue that the
desirable behaviour would be to try all derivations in a new evaluation,
regardless of whether they were stopped in a previous evaluation.

A use case are feature branches:
Assume x-team and y-team are branches that are developed simultaneously;
now x-team is ready first and gets merged to master. All builds of y-team
are stopped (since there is no point in continuing with builds made obsolete
by changes in x-team), the branch is rebased on master, and now all builds
need to be restarted on the rebuilt branch. There is a button for this,
but it also restarts genuinely failed builds, if I remember correctly.
(In any case it did not solve the problem, but I have forgotten the
details.)

Restarting builds manually requires to take the dependency order into
account. If x->y->z is a dependency chain, x has been stopped, and y or z
are restarted, they will immediately fail since x is not available;
otherwise said, restarting manually requires a manual traversal of the
dependency graph, which should be automated.

It would also be a useful feature to restart all builds of dependent
packages: If x is "repaired" and manually started, it would be nice to
be able to start all its dependents (ordered automatically by cuirass)
to see whether they now succeed, instead of forcing us to manually
traverse the graph again.
For instance, we recently got a report on guix-devel of "no space left
on device" for icedtea <at> 3. This would be easy to solve by a "guix gc"
on the build machines, but we currently have no way of restarting the
many builds dependent on icedtea <at> 3 other than restarting all packages.

Andreas





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Tue, 04 Jun 2024 14:01:02 GMT) Full text and rfc822 format available.

Notification sent to Andreas Enge <andreas <at> enge.fr>:
bug acknowledged by developer. (Tue, 04 Jun 2024 14:01:02 GMT) Full text and rfc822 format available.

Message #10 received at 63413-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 63413-done <at> debbugs.gnu.org
Subject: Re: bug#63413: Stop and restart builds in cuirass
Date: Tue, 04 Jun 2024 15:59:53 +0200
Hi Andreas,

Andreas Enge <andreas <at> enge.fr> skribis:

> Stopping and starting builds in cuirass is not very comfortable.
>
> When working on core-updates, I stopped builds for some old evaluations
> on aarch64, where our build power would not be enough, assuming that many
> of the old builds were made obsolete by newer changes. (For instance,
> these could be builds in branches that were already merged to master.)
>
> However, this also stopped the builds that were not obsolete. And if the
> derivation was unchanged in a later evaluation (or a different branch),
> it would be kept as failed and not be restarted. I would argue that the
> desirable behaviour would be to try all derivations in a new evaluation,
> regardless of whether they were stopped in a previous evaluation.

(For clarity: s/stop/cancel/ above.)

I’m happy to report that this bug should be fixed in the snapshot
recently deployed on ci.guix.gnu.org.  The fix is here:

  https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=12d79854ee7685b356a72ca374f2a90b8efe5903

Lemme know if it turns out to be a broken fix!

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#63413; Package guix. (Wed, 05 Jun 2024 13:31:02 GMT) Full text and rfc822 format available.

Message #13 received at 63413 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 63413 <at> debbugs.gnu.org
Subject: Re: bug#63413: Stop and restart builds in cuirass
Date: Wed, 5 Jun 2024 15:29:50 +0200
Hello,

Am Tue, Jun 04, 2024 at 03:59:53PM +0200 schrieb Ludovic Courtès:
> I’m happy to report that this bug should be fixed in the snapshot
> recently deployed on ci.guix.gnu.org.  The fix is here:
>   https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=12d79854ee7685b356a72ca374f2a90b8efe5903

this looks good, thanks a lot for fixing this long standing annoyance!

Andreas





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 04 Jul 2024 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 309 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.