Commit Graph

1289 Commits

Author SHA1 Message Date
Christopher Baines a0f4f153a9
Improve the display of the show revision page 2019-03-16 19:01:21 +00:00
Christopher Baines 33e6b35972
Remove the bottom margin from the header
As it's a bit unnecessary.
2019-03-16 18:59:29 +00:00
Christopher Baines a092db5007
Further improve load-new-guix-revision-jobs
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.
2019-03-16 17:26:44 +00:00
Christopher Baines 9f162c3b2c
Time more steps in load-new-guix-revision
This is useful for debugging purposes.
2019-03-15 09:31:52 +00:00
Christopher Baines c4c1f15050
Better guard against errors in packages when loading revisions
In particular, things like undefined variables in the package
definition.
2019-03-15 09:31:08 +00:00
Christopher Baines d2697d8dd2
Avoid loading in all derivations
Just load in the ones that are not already in the database, as this
will hopefully be faster and require less memory.
2019-03-14 08:18:01 +00:00
Christopher Baines a0dd298239
Hopefully speed up the new guix revision processing
Compute all derivations at once in the inferior, avoiding round trips
to hopefully speed it up. Close the inferior earlier to free up
memory, and add more debugging output.
2019-03-13 09:24:47 +00:00
Christopher Baines e117bb1d87
Many changes
A large proportion of these changes relate to changing the way
packages relate to derivations. Previously, a package at a given
revision had a single derivation. This was OK, but didn't account for
multiple architectures.

Therefore, these changes mean that a package has multiple derivations,
depending on the system of the derivation, and the target system.

There are multiple changes, small and large to the web interface as
well. More pages link to each other, and the visual display has been
improved somewhat.
2019-03-11 22:11:14 +00:00
Christopher Baines 5bc0e7d4bf
Add some catch all error handling to fetch-build-for-derivation 2019-03-08 08:22:52 +00:00
Christopher Baines 7a00bff2c3
Fetch more derivations with no known build
To try and process the backlog a bit.
2019-03-07 23:51:23 +00:00
Christopher Baines a1e481cc4d
Continue improving pages and linking things together 2019-03-07 23:50:51 +00:00
Christopher Baines 0380c84a67
Decrease builds number to 1
As I don't think these endpoints can return more than 1 result.
2019-03-07 21:51:32 +00:00
Christopher Baines ccb429c8b9
Improve logging in builds.scm 2019-03-07 21:51:19 +00:00
Christopher Baines bbf8cc1c34
Improve derivation display on the builds page 2019-03-07 08:45:25 +00:00
Christopher Baines 8f4da3c872
Start to visualise derivations 2019-03-07 08:43:16 +00:00
Christopher Baines 891cf42fc6
Improve error handling in builds.scm 2019-03-06 23:47:26 +00:00
Christopher Baines b0eaf9cf7a
Add a few new pages
For showing more information about builds, revisions and derivations.
2019-03-06 22:59:27 +00:00
Christopher Baines e656b0967b
Include the status of derivations
On the comparison page.
2019-03-06 22:58:05 +00:00
Christopher Baines 7a90afe980
Add functionality to query build servers 2019-03-06 22:56:54 +00:00
Christopher Baines 4d0d6f2e82
Add new models relating to builds and build servers
These will allow tracking what's going on with build servers.
2019-03-06 22:56:10 +00:00
Christopher Baines 8bef36a95e
Switch to guile-json@3 2019-03-06 22:52:56 +00:00
Christopher Baines 623347d835
Add a list of the queued revisions to the index page 2019-03-03 18:15:29 +00:00
Christopher Baines ffdd2416f4
Guard against errors getting derivations for packages 2019-03-03 17:06:11 +00:00
Christopher Baines 853a2e4125
Handle failures in load-new-guix-revision
Currently, I think the desired commit can be missing, if patches come
in gradually, and the series changes after the first laminar job has
been run. Therefore, try to ignore some errors and just delete the
job.
2019-03-01 07:29:49 +00:00
Christopher Baines 6d0eaab4e7
Make the unknown JSON a bit more sensible 2019-02-28 21:53:26 +00:00
Christopher Baines 17e76b4ef1
Support a source for a job
To describe why this job was enqueued.
2019-02-28 18:47:28 +00:00
Christopher Baines 46c724456f
Add some navigation buttons
Both to the packages and derivations packages, as well as the JSON
representation of the pages.
2019-02-26 08:33:17 +00:00
Christopher Baines 2836a848cb
Add a packages comparison page
The primary use I have in mind for this is producing a list of strings
suitable for building a limited Cuirass job with.
2019-02-25 23:44:32 +00:00
Christopher Baines 31737d32f9
Add some super crude JSON pages
Provide JSON versions of the existing HTML compare and
compare/derivations pages. Refactor the code and extract some
functions to make this a little less painful.
2019-02-25 22:07:26 +00:00
Christopher Baines fd0bf340a7
Fix showing versions in the comparison
Previously, some extra data from the query would be added on to the
end of the version. This change prevents that from happening.
2019-02-25 21:42:07 +00:00
Christopher Baines b8543859c9
Show when revisions are missing, but queued for processing 2019-02-24 16:52:45 +00:00
Christopher Baines e68142cf91
Add a new page comparing the derivations of two revisions 2019-02-24 15:38:08 +00:00
Christopher Baines a5cc703e18
Load new Guix revisions within a container
Use some experimental functionality to run the inferior repl in a
container. This provides some isolation.
2019-02-24 15:37:08 +00:00
Christopher Baines 83832a7862
Build new Guix revisions within an inferior
Once inferiors can provide some isolation, this will make building
guix in this way safer.
2019-02-23 20:15:35 +00:00
Christopher Baines c6949a2710
Add some environment variables to the .envrc file 2019-02-10 09:44:11 +00:00
Christopher Baines c88d8335ba
Improve the model for derivations
These changes mean that more information about derivations is
recorded. There are a number of corresponding changes in the database
schema that are not tracked in the repository unfortunately.
2019-02-10 09:42:22 +00:00
Christopher Baines 552723cef1
Add an error page for unknown commits 2019-02-08 11:27:07 +00:00
Christopher Baines 0a49c0a84a
Actually close database connections
Previously, the connections were not closed, so eventually PostgreSQL
would run out. Using a pool of connections would be better, but as a
short term solution, just close the connection after each request.
2019-02-08 11:19:12 +00:00
Christopher Baines 5a9262b38d
Initial commit
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
2019-02-07 22:26:57 +00:00