Subject: bug#63412: Topological sorting in cuirass

From: "Dr. Arne Babenhauserheide" <[email-masked]>
Date: Wed, 10 May 2023 15:59:45 +0200

Andreas Enge <[email-masked]> writes:

> Cuirass should sort builds and only offload derivations for which all
> inputs are available.
...
> Alternatively, build jobs could be sorted topologically and then be kept
> in a list; then before sending out a job, all its inputs have been tried
> to be built; the job should then be sent if all inputs are available, or
> be marked as "Failed (dependency)" if any of them has failed.

If you want to try this out quickly, you could use code from the
topological sorting SRFI I’m slowly finalizing:

https://srfi.schemers.org/srfi-234/srfi-234.html

For usage see: https://github.com/scheme-requests-for-implementation/srfi-234/blob/main/srfi-234-test.scm

Code: https://github.com/scheme-requests-for-implementation/srfi-234/blob/main/srfi/234-impl.scm

edgelist->graph should do the conversion from inputs per package to the
input format.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de