unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#63413: Stop and restart builds in cuirass
@ 2023-05-10 10:28 Andreas Enge
  2024-06-04 13:59 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Enge @ 2023-05-10 10:28 UTC (permalink / raw)
  To: 63413

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@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@3 other than restarting all packages.

Andreas





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-05 13:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-10 10:28 bug#63413: Stop and restart builds in cuirass Andreas Enge
2024-06-04 13:59 ` Ludovic Courtès
2024-06-05 13:29   ` Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).