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