| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make parallel use of inferiors when computing channel instance derivations,
and when extracting information about a revision. This should allow for some
horizontal scalability, reducing the impact of additional systems for which
derivations need computing.
This commit also fixes an apparent issue with package replacements, as
previously the wrong id was used, and this hid some issues around
deduplication.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Just have one fiber at the moment, but this will enable using fibers for
parallelism in the future.
Fibers seemed to cause problems with the logging setup, which was a bit odd in
the first place. So move logging to the parent process which is better anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Generating system test derivations are difficult, since you generally need to
do potentially expensive builds for the system you're generating the system
tests for. You might not want to disable grafts for instance because you might
be trying to test whatever the test is testing in the context of grafts being
enabled.
I'm looking at skipping the system tests on data.guix.gnu.org, because they're
not used and quite expensive to compute.
|
| |
|
|
|
|
|
| |
This is helpful when the jobs fail through Guile running out of memory for
example.
|
|
|
|
|
| |
The return value of sleep is unreliable (see guile bug #53139), so use a
signal handler instead.
|
| |
|
|
|
|
|
| |
As for some jobs that take lots of time to compute and build the channel
instance derivations, it can take more than 24 hours.
|
|
|
|
|
| |
This makes it possible to set a higher or lower value depending on what you
want.
|
| |
|
|
|
|
| |
That were missing them.
|
| |
|
|
|
|
|
|
| |
Reserve some capacity to process revisions which are the tip of a branch. This
should reduce the time between new revisions appearing, and then being
processed.
|
|
|
|
| |
So that they aren't retried again and again.
|
|
|
|
|
|
| |
There are some revisions of Guix which take forever to process (or days at
least). To avoid jobs being processed forever, kill them after they've been
running for a while (default 24 hours).
|
|
|
|
|
|
| |
This should speed up processing new revisions, reduce latency between finding
out about new revisions and processing them, as well as help manage memory
usage, by processing each job in a process that then exits.
|
|
|
|
| |
Speed up checking for new jobs, and remove debugging output.
|
| |
|
|
|
|
|
|
|
|
|
| |
Split the derivations up in to some groups, and run
invalidate-derivation-caches! inbetween to try and reduce the memory
usage.
Also make a couple of other changes to reduce memory usage or protect
against errors.
|
|
This is a service designed to provide information about Guix. At the
moment, this initial prototype gathers up information about packages,
the associated metadata and derivations.
The initial primary use case is to compare two different revisions of
Guix, detecting which packages are new, no longer present, updated or
otherwise different.
It's based on the Mumi project.
[1]: https://git.elephly.net/software/mumi.git
|