Commit Graph

1289 Commits

Author SHA1 Message Date
Christopher Baines 241d7e4889 Use libc-locales-for-target
To help find the right glibc-locales to use.
2023-12-04 11:11:39 +00:00
Christopher Baines 8a8dccf2d8 Fix some select-build-servers calls 2023-12-04 11:09:46 +00:00
Christopher Baines a3ec1f326d Set %file-port-name-canonicalization when processing jobs
Just in case this helps with performance.
2023-12-04 11:06:27 +00:00
Christopher Baines b9026488ed Memoize computing tokens
As I'm not sure how expensive this is, but it doesn't need doing for every
request.
2023-11-24 16:11:57 +00:00
Christopher Baines 241a704db1 Instrument handling build events 2023-11-24 16:11:42 +00:00
Christopher Baines e13febc817 Stop replacements cluttering comparisons
This stops the replaced package getting compared with it's replacement.
2023-11-18 10:36:10 +00:00
Christopher Baines b2bf948a00 Add more exception handling to make-resource-pool
As I'm not sure it's working reliably.
2023-11-17 12:32:14 +00:00
Christopher Baines da2a405e8b Remove hardcoding of builtin:download
As this was causing problems with builtin:git-download.
2023-11-16 12:20:55 +00:00
Christopher Baines de211ef5ea Set the names of more threads
To help with debugging.
2023-11-16 11:30:23 +00:00
Christopher Baines 37a07c2d6e Try to avoid the metrics timing out
As that makes debugging problems harder.
2023-11-09 16:44:28 +00:00
Christopher Baines 7891d1327b Add missing empty job log entry 2023-11-05 20:01:37 +00:00
Christopher Baines 4f1ae74d2f Handle derivations with no sources 2023-11-05 18:49:23 +00:00
Christopher Baines 341eb4a283 Handle eof when reading logs 2023-11-05 18:49:11 +00:00
Christopher Baines b026b8795b Remove peek 2023-11-05 18:49:04 +00:00
Christopher Baines b2707b4828 Restore #:error-port when calling open-inferior
As the default is a void port.
2023-11-05 16:12:55 +00:00
Christopher Baines 1746256ef5 Remove #:use-module (ice-9 custom-ports)
As it's not actually used.
2023-11-05 15:59:53 +00:00
Christopher Baines 2135bc5e49 Update guix-dev.scm and .envrc 2023-11-05 13:46:20 +00:00
Christopher Baines 03327c0cc3 Include output information in the package page response
As this will be useful for QA to say whether the package builds reproducibly
or not.
2023-11-05 13:46:20 +00:00
Christopher Baines c3cb04cb80 Use fibers when processing new revisions
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.
2023-11-05 13:46:20 +00:00
Christopher Baines f5acc60288 Make some sweeping changes to loading new revisions
Move in the direction of being able to run multiple inferior REPLs, and use
some vectors rather than lists in places (maybe this is more efficient).
2023-11-02 12:16:17 +00:00
Christopher Baines 89782b3449 Close the repository when pulling
And remove the monitor, as I'm not sure it's necessary.
2023-10-16 21:18:44 +01:00
Christopher Baines 851a6c17b5 Remove redundant joins from the select build query 2023-10-16 17:19:44 +01:00
Christopher Baines 82bb174700 Attempt to fetch this Git polling mess
Listing remote branches through libgit2 will list branches that don't exist on
the remote. I think branch-list is more listing branch references, and you can
have references to a remote branch where the remote branch doesn't exist. This
isn't very useful here though, as I'm trying to work out what remote branches
exist.

There's remote-ls which might help, but I can't figure out how to get the
commits for branches from that.

Therefore, just bodge the two things together in to a big mess. I seem to be
able to get commits from branch-list that hopefully match what's on the
remote (although I'm not confident about this), and I think remote-ls does
allow checking what branches exist.
2023-10-11 17:53:38 +01:00
Christopher Baines 70f1824e46 Copy some of the initialisation from (guix git)
To go along with just-update-cached-checkout.
2023-10-11 16:33:53 +01:00
Christopher Baines 695fce6922 Try to work around update-cached-checkout
As it's causing problems with the guix-patches repository.
2023-10-11 16:26:08 +01:00
Christopher Baines d72b9a5239 Remove logging from enqueue-job-for-email
As getmail treats output to stderr as the operation failing.
2023-10-11 14:17:11 +01:00
Christopher Baines b0404d62fd Fix typo 2023-10-11 14:04:40 +01:00
Christopher Baines 10bad53ad5 Support polling git repositories for new branches/revisions
This is mostly a workaround for the occasional problems with the guix-commits
mailing list, as it can break and then the data service doesn't learn about
new revisions until the problem is fixed.

I think it's still a generally good feature though, and allows deploying the
data service without it consuming emails to learn about new revisions, and is
a step towards integrating some kind of way of notifying the data service to
poll.
2023-10-09 22:19:02 +01:00
Christopher Baines 9bb8f84741 Add commit message entry about UDP push notifications for commits 2023-09-27 15:36:00 +01:00
Christopher Baines 893cccf8e5 Add metrics for ports and file descriptors 2023-09-07 11:16:45 +01:00
Christopher Baines e8e1459769 URI encode some derivation names in links
To handle characters like +.
2023-09-07 11:14:11 +01:00
Christopher Baines f2e2ca7a07 Use the connection pool for build events
I'm not sure why this wasn't the way it worked previously. This should avoid
unconstrained use of PostgreSQL connections.
2023-08-23 12:19:22 +01:00
Christopher Baines 9f102dbd39 Add code to delete nars entries 2023-08-01 14:13:10 +01:00
Christopher Baines 1461aa037f Make database changes to help with deleting entries in the nars table 2023-08-01 14:12:48 +01:00
Christopher Baines 7495085f63 Delete unreferenced derivations in batches
To avoid a long blocking query.
2023-08-01 10:16:31 +01:00
Christopher Baines 1c75394187 Fix issues with with-resource-from-pool 2023-07-26 10:11:00 +01:00
Christopher Baines abe50b0443 Fix the load revision system sorting
As previously it only applied to system tests.
2023-07-25 17:58:19 +01:00
Christopher Baines bbc53deb1f Rewrite deleting unreferenced derivations
Use fibers more, leaning in on the non-blocking use of Squee for parallelism.
2023-07-25 17:57:00 +01:00
Christopher Baines 348fe36b55 Sort systems and targets for more deterministic behaviour
As the ordering from Guix seems to be non-deterministic.
2023-07-21 12:10:55 +01:00
Christopher Baines ef73305250 Further tweak loading package derivations
There's an issue where sometimes for i686-linux and armhf-linux, only a few
package derivations are computed.

This commit tries to simplify the code, and adds some conditional logging for
the guix package, which might help reveal what's going on.
2023-07-20 16:46:53 +01:00
Christopher Baines 6e4d436d75 Fix some uses of select-build-server-urls-by-id 2023-07-20 16:12:00 +01:00
Christopher Baines ce1480edf4 Fix the repositories page 2023-07-19 17:40:41 +01:00
Christopher Baines de6d38016d Tweak which duplicate packages to select
This helps with replacements, as the original package is usually higher up in
the file.
2023-07-17 13:28:42 +01:00
Christopher Baines ed974ebf3b Tweak loading package derivations
Make sure to log any errors, and also use a more efficient approach sending
less data to the inferior.
2023-07-17 13:27:21 +01:00
Christopher Baines 9dec45d2eb Make fetching metrics work even when having database problems 2023-07-14 10:36:02 +01:00
Christopher Baines f9bb60ab4a Drop the resource pool timeout
Better to timeout early.
2023-07-14 10:35:44 +01:00
Christopher Baines 22ed81fbcc Reduce the number of threads used by fibers
As one thread per core is probably unnecessary.
2023-07-10 18:56:31 +01:00
Christopher Baines 2971322b27 Set thread names
To help with debugging
2023-07-10 18:56:31 +01:00
Christopher Baines 75ef4cffd3 Expose resource pool stats 2023-07-10 18:56:31 +01:00
Christopher Baines 899bd1387e Support getting resource pool stats 2023-07-10 18:56:31 +01:00