Commit graph

412 commits

Author SHA1 Message Date
0291bda98a Deduplicate builds and add a unique index
Duplicate builds could creep in if the code to create them ran concurrently. I
didn't exclude them initially, as I was unsure if there should be such a
restriction, but at least for now, Cuirass builds map exactly to a single
derivation, so use the same restriction here.
2019-12-12 20:07:22 +00:00
8a5beb7f88 Change nar_urls size to bigint
As some nars can be bigger than the size of an int.
2019-12-12 20:07:22 +00:00
5168b38c2a Change nars size to bigint
As some nars can be bigger than the maximum size of an int.
2019-12-12 20:07:22 +00:00
d2405f6c77 Add a table to record where narinfo files were fetched from
Otherwise it's hard to associated narinfo files to build servers.
2019-12-12 20:07:22 +00:00
299f9dc480 Add an index on the derivation_file_name field in the builds table
As this helps when finding builds relating to specific derivations.
2019-12-12 20:07:22 +00:00
716eb3c3b6 Move build-status helpers to the html-utils module 2019-12-12 20:07:22 +00:00
e078b9611d Include nars on the output page 2019-12-12 20:07:22 +00:00
8e5f8e4170 Add a new page for the narinfos associated with an output 2019-12-12 20:07:22 +00:00
2d87bd6340 Add a page for each signing key 2019-12-12 20:07:22 +00:00
8ff27eaa14 Add a new html-utils module
To store code used for rendering HTML across multiple controllers.
2019-12-12 20:07:22 +00:00
acf1735a0f Stop setting a long max-age for the viewing store items
As as new derivations are loaded, the contents of the page can change.
2019-12-12 20:07:22 +00:00
a0ce016c02 Support querying builds by build servers 2019-12-12 20:07:22 +00:00
f7069456b5 Support querying builds by status 2019-12-12 20:01:30 +00:00
04e98ed4da Handle multiple invalid values for a single form field 2019-12-12 20:01:26 +00:00
7cc5c02cdd Query build servers for narinfo files
As well as making it possible to only query build servers for builds relating
to a specific revision.
2019-11-30 10:59:16 +00:00
b278065d2a Fix selecting pending builds 2019-11-30 10:58:40 +00:00
0aa78e9ef5 Don't create misleading scheduled build status entries
Cuirass provides a timestamp field in build responses, and sometimes this
means when the build was scheduled, but when the build is finished, it's the
stoptime.

So only use the timestamp when the build hasn't finished.
2019-11-30 10:55:16 +00:00
0fa747e404 Support handling jsonb in insert-missing-data-and-return-all-ids 2019-11-30 10:53:13 +00:00
b6194e7b3d Begin to add support for importing narinfo files
This commit adds the tables, as well as code to support extracting data from
narinfo files.
2019-11-30 10:51:58 +00:00
20c75e1103 Fix some queries relating to the build_status table changes 2019-11-28 19:32:00 +00:00
af1324855e Fix the JSON output for the derivation history page 2019-11-26 07:17:24 +00:00
32e1fee7ea Add the build-server-token-seed.scm file to Makefile.am 2019-11-26 07:17:09 +00:00
2a3ee20a99 Extract the builds page in to it's own set of modules
To allow for expanding it, without cluttering the root controller.
2019-11-24 20:42:37 +00:00
33ecb7448e Respond to any method with a 404, if the request is unrecognised 2019-11-24 20:18:08 +00:00
78695c46a1 Just update the package derivation entries that need updating
Previously, all the entries for the branch were deleted, but not, only the
entries for the branch, that are present in the revision that was loaded will
be deleted. This is more efficient, as it avoids deleting and recreating
entries in the table that shouldn't have changed.
2019-11-24 20:18:08 +00:00
5663235048 Rework the builds and build_status tables as well as related code
Allow for build status information to be submitted by POST request. This
required some changes to the builds and build_status tables, as for example,
the Cuirass build id may not be available, and the derivation may not be know
yet, so just record the derivation file name.
2019-11-24 20:18:08 +00:00
0ffd8caeeb Add a script to help manage build servers
This computes and displays the tokens needed to send build events to the Guix
Data Service.
2019-11-23 11:50:51 +00:00
c3b17c0cb0 Add guile-gcrypt to the guix-dev.scm file 2019-11-23 11:50:33 +00:00
79d85f5847 Add a new module to handle build server token seeds
The intent with these tokens is for them to be provided when build events are
submitted, preventing unauthorised submission of build events.

It should be possible to make the database public, so it shouldn't contain any
secret information. To have secret tokens that aren't in the database, store a
token seed, and combine this with some secret data to compute the secret.
2019-11-23 11:33:16 +00:00
9a3dbb1d5b Add new table to store token seeds for build servers 2019-11-23 11:30:36 +00:00
6fad559b32 Improve select-build-servers to convert strings to appropriate types 2019-11-23 11:23:16 +00:00
53652db9ca Add a page to render the channel news entries for a revision 2019-11-22 06:28:10 +00:00
5fc23d788d Expand compare by datetime output
Include the commit and datetime for the revisions that were compared.
2019-11-21 20:50:54 +00:00
152910ec9c Include the datetime in select-guix-revision-for-branch-and-datetime 2019-11-21 20:50:36 +00:00
75d5e4b9d5 Fix select-guix-revision-for-branch-and-datetime
Flip the inequality and order, as this was picking the first revision after
the datetime, rather than the last revision before it, which was the
intention, as this should give you the revision on the branch, at the
datetime.
2019-11-21 20:48:58 +00:00
ae150888d8 Remove some peek statements that snuck in 2019-11-21 20:48:41 +00:00
23f60a6bbb Include news entries on the comparison page 2019-11-21 19:56:19 +00:00
6c5370f9c5 Add a function to get the channel news entries in a revision 2019-11-21 19:56:19 +00:00
62cabc80bf Link to the comparison page when viewing derivation history 2019-11-21 19:56:19 +00:00
f23ee71ea7 Insert channel news entries when loading new guix revisions
If the channel-news-for-commit function is present.
2019-11-21 19:56:19 +00:00
2e8ca7f547 Extract out creating the guix-revision from extract-information-from
To allow for using the guix-revision-id when inserting channel news entries.
2019-11-21 19:56:19 +00:00
3ef99acc79 Add a new channel-news module, along with tables the relevant data 2019-11-21 19:56:19 +00:00
66d726f1fd Refactor channel handling in the load-new-guix-revision module
To allow for passing the channel to channel-news-for-commit.
2019-11-21 19:56:19 +00:00
7c611402a0 Add a basic page for derivation source files
Just so that the links work.
2019-11-21 19:54:54 +00:00
759ced5c9d Add a function for selecting derivation source files 2019-11-21 19:54:54 +00:00
5d7dadc9fe Add more links to store items
On the formatted derivation and derivation comparison pages.
2019-11-21 19:54:54 +00:00
81eb5f88d1 Add a generic way of presenting values that may be store items 2019-11-21 19:54:54 +00:00
022cbc68ef Link to the formatted derivation page 2019-11-21 19:54:54 +00:00
78e830d91e Link to derivation comparison page from the compare/derivations page 2019-11-21 19:54:54 +00:00
e31f370de0 Add a basic derivation comparison page 2019-11-21 19:54:54 +00:00