Commit graph

811 commits

Author SHA1 Message Date
7e476536cb Link to the derivation outputs from the package reproducibility page 2019-12-16 20:31:13 +00:00
4af643136e Allow filtering by system and target on the derivation-outputs page
So that this can match up with the package reproducibility page.
2019-12-16 20:29:28 +00:00
e1d1d372ca Add titles to a couple of revision pages 2019-12-16 20:29:15 +00:00
dc82112bf8 Simplify the derivations page display
Displaing the outputs didn't add much, so focus on neatly displaying the
builds.
2019-12-16 20:18:34 +00:00
3305d85ef0 Drop the default number of derivations to display
As 100 is quite a lot to display by default.
2019-12-16 20:17:14 +00:00
0172338932 Add a small bottom margin to the build status span
So it displays better when there are items below it.
2019-12-16 20:15:11 +00:00
e6b20746be Deduplicate the build status span code in html-utils 2019-12-16 20:12:58 +00:00
5b54259974 Fix matching equivalent derivations in another function 2019-12-16 20:11:57 +00:00
c229ace8a5 Allow customising the maximum number of processes 2019-12-16 19:57:56 +00:00
96f897cf3b Add a page with charts to show package reproducibility 2019-12-16 19:57:36 +00:00
34b3585b48 Improve the revision derivation-outputs page
Neaten up the display of the hashes, and add a reproducibility status column.
2019-12-16 15:19:02 +00:00
bdcba528fc Fix group-to-alist
To not just append elements to the alist.
2019-12-16 15:19:02 +00:00
a41249d8fe Move group-to-alist to the model utils module
So it can be more widely used.
2019-12-16 15:19:02 +00:00
18504fba49 Show the possible failure reasons on the build page
When the build status is "Failed (dependency)".
2019-12-16 15:19:02 +00:00
5337b171ea Add a function to find the builds required for a build that failed 2019-12-16 15:19:02 +00:00
771b01ef80 Link to the build pages from the derivation page 2019-12-16 15:19:02 +00:00
308d1d7102 Add a page for each build 2019-12-16 15:18:14 +00:00
a59f352046 Split out select-build-by-build-server-and-derivation-file-name
Create select-build-id-by-build-server-and-derivation-file-name, which just
returns the id, and then a variant that returns more fields for making a page
for each build.
2019-12-15 10:32:40 +00:00
b693d3e57d Improve select-builds-with-context-by-derivation-file-name
To find builds for equivalent derivations.
2019-12-15 08:51:31 +00:00
6a0332bed2 Add a builds page for a specific revision
Like the /builds page, but filtered for a specific revision.
2019-12-14 21:02:27 +00:00
a84fc954d1 Extend select-build-stats to allow filtering by revision 2019-12-14 20:59:54 +00:00
633e757fe8 Break down the build stats by build server 2019-12-14 20:17:53 +00:00
6e9b07bc4a Drop the default number of results on the derivation outputs page
To have it load quicker, but also because 100 results aren't necessary.
2019-12-14 17:11:46 +00:00
7cde75f8d6 Add "Fixed output" to the options for Reproducibility status
On the derivation outputs page, as some derivations are reproducible by
definition, so it's good to identify and exclude these.
2019-12-14 17:11:01 +00:00
9dddf2c606 Implement the reproducibility status filter
On the derivation-outputs page.
2019-12-14 17:10:23 +00:00
4cc678dfb1 Add a parameter to form-horizontal-control affect multiple values
Previously, the behaviour was to accept multiple values, but enable just
allowing one value to be entered.
2019-12-14 17:04:36 +00:00
67710065f0 Improve the next page links on the revision pages
To add or update the relevant query parameter, rather than replacing all the
query parameters with the new value.
2019-12-13 17:13:41 +00:00
fc9c44b715 Add a utility to help generate next page links 2019-12-13 17:13:27 +00:00
156b7eea7e Improve the select-build-stats function
Account for equivalent derivations, rather than counting them as unknown.
2019-12-12 20:07:22 +00:00
af948de646 Fix the select-derivations-with-no-known-build
The equivalent_derivations table was an experiment that didn't work, so switch
to using the derivations_by_output_details_set table.

Also take the build server id as input, as this allows selecting derivations
which have no known build for the relevant build server.
2019-12-12 20:07:22 +00:00
c90f411e5e Add options to the query-build-servers script
So you can select to query specific build servers.
2019-12-12 20:07:22 +00:00
f13077d087 Remove non-existent export from the derivation module 2019-12-12 20:07:22 +00:00
7dc0238436 Add a page to show derivation outputs for a revision 2019-12-12 20:07:22 +00:00
eecfdeb9e4 Add a function to select the outputs in a revision 2019-12-12 20:07:22 +00:00
e92d4dbbcf Add a results count to the revision derivations page 2019-12-12 20:07:22 +00:00
05d295d6f0 Fix the all-results/limit handling in the revision derivatinos controller 2019-12-12 20:07:22 +00:00
544f122ff5 Fix related builds in select-derivations-in-revision
Rather than just counting builds where the derivation matches, select builds
based on the derivation outputs, which accounts for different but equivalent
derivations.
2019-12-12 20:07:22 +00:00
c8b93cb0d0 Add new derivation_output_details_set_id column to the builds table
As this will hopefully provide a faster way of associating derivations with
builds.
2019-12-12 20:07:22 +00:00
a965ba1f6a Start storing and identifying sets of derivation outputs
Derivations are effectively equivalent if they produce the same set of
outputs, which is possible because of the equivalence of fixed output
derivations. A fixed output derivation can be different, but equivalent,
because it produces the same fixed output.

To better allow tracking equivalent derivations, primarily to allow working
out what derivations might correspond to a build, store the sets of derivation
outputs, and which derivations they relate to.
2019-12-12 20:07:22 +00:00
0e97c55c0c Add some database indexes 2019-12-12 20:07:22 +00:00
00bfa5336e Add a page to show the derivations in a revision 2019-12-12 20:07:22 +00:00
9a99722643 Add a utility to generate a span for the status of a build 2019-12-12 20:07:22 +00:00
0cebb97340 Add a function to select derivations in a revision 2019-12-12 20:07:22 +00:00
aa3af00e07 Fix and improve fetching outputs to fetch from build servers
The join on derivation_outputs was completely wrong, so fix that.

Also, rather than only selecting outputs where there's a corresponding build,
just eliminate outputs where there is an entry in the nars table, fetched from
the relevant build server.

Also just look at x86_64-linux derivations, because there's no filtering on
relevant derivations for a build server at the moment.
2019-12-12 20:07:22 +00:00
9e5cde80b3 Fix query in select-derivations-with-no-known-build
Rather than eliminating any derivation that has a known build, eliminate those
derivations, but also equivalent derivations as well.

For selecting the derivations in a revision, join on the equivalent
derivations, as all the equilalent derivations need checking as well, as it's
unknown which one Cuirass would have associated the build against.

Also, filter for x86_64-linux, to avoid checking for crossbuilt things. This
should be replaced by some way of describing what derivations a build server
has.
2019-12-12 20:07:22 +00:00
2e9844e599 Display the build server URL when fetching data 2019-12-12 20:07:22 +00:00
1e040010fc Fix the match statement in select-build-by-build-server-and… 2019-12-12 20:07:22 +00:00
29e897ce9c Improve variable names in fetch-narinfo-files 2019-12-12 20:07:22 +00:00
eb2ba599d9 Populate the narinfo_fetch_records table 2019-12-12 20:07:22 +00:00
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