2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/data-service.git synced 2023-12-14 03:23:03 +01:00
Commit graph

911 commits

Author SHA1 Message Date
Leo Famulari 0813ad6978
Tell the user how to specify a datetime.
Also correct a mistake in the error message for invalid datetime formats.
2020-12-19 17:47:53 -05:00
Christopher Baines 74980bce70 Improve build links on the package derivations page 2020-12-09 19:08:19 +00:00
Christopher Baines 69057b41a7 Support showing package derivations by build status
I'm particularly thinking about listing packages which fail to build.
2020-12-09 19:07:42 +00:00
Christopher Baines ba511d73b0 Support querying package derivations by build status 2020-12-09 19:06:59 +00:00
Christopher Baines de3ca9d074 Improve the parse-commit invalid parameter handling 2020-11-28 19:36:47 +00:00
Christopher Baines cb871530cf Make it possible to show HTML for the invalid parameter messages
So that they can include links.
2020-11-28 19:36:26 +00:00
Christopher Baines 8f702e5666 Add system and target controls to the package derivation comparison
By datetime, as these parameters are supported.
2020-11-25 21:05:32 +00:00
Christopher Baines 56c786e309 Fix typo with build_change parameter
For the compare by datetime package derivations page.
2020-11-21 21:23:39 +00:00
Christopher Baines e93da1ae8f Fix the JSON link on the compare package derivations page 2020-11-21 21:10:33 +00:00
Christopher Baines 7e1cba3309 Consolidate the package derivation comparison code 2020-11-21 21:00:40 +00:00
Christopher Baines 0c3e208a83 Start merging the package derivation comparison code 2020-11-21 20:29:14 +00:00
Christopher Baines 56983eb03e Extract out the compare form controls
So they can be used for the package derivations page
2020-11-21 20:25:26 +00:00
Christopher Baines 814a5d7cba Fix some links on the compare page 2020-11-21 20:11:21 +00:00
Christopher Baines 12f35c493b Add default datetimes for compare-by-datetime
As this makes it easy to compare the current state of two branches.
2020-11-21 20:11:21 +00:00
Christopher Baines 7321ce4408 Improve the comparison page interface
Try to unify the code for the different comparison modes, so that there's less
of it.
2020-11-21 18:37:19 +00:00
Christopher Baines 8cafd93f22 Specify an invalid parameter message in parse-datetime 2020-11-21 18:31:59 +00:00
Christopher Baines d0a4143c7c Avoid errors in form-horizontal-control
When invalid parameters don't have a message.
2020-11-21 18:31:39 +00:00
Christopher Baines c751031a26 Avoid crashing when no compare arguments are provided 2020-11-21 16:49:58 +00:00
Christopher Baines 3e15900c56 Fix build links on the derivation page
In the case where the build is for a different derivation with the same
outputs.
2020-11-20 21:01:09 +00:00
Christopher Baines 00c84640c5 Improve the headings on the compare derivations page 2020-11-20 19:37:12 +00:00
Christopher Baines 65507aaac1 Don't show all results on the compare package derivation page
By default. For comparisons involving lots of changed derivations, the page
can take too long to render.
2020-11-20 19:33:16 +00:00
Christopher Baines 7b92a6a5b3 Allow the package derivation data procedure to not return all data
By adding after-name and limit-results parameters.
2020-11-20 19:28:39 +00:00
Christopher Baines d98c676563 Fix typo 2020-11-19 21:46:47 +00:00
Christopher Baines ce73e4448d Include a "Build change" filter on the package derivations page
This helps determine what things a change broke or fixed for example.
2020-11-19 21:02:47 +00:00
Christopher Baines 31475374f7 Support selecting compared package derivations by build change 2020-11-19 21:02:30 +00:00
Christopher Baines 80c6fbd1ac Clean up some unused code in the compare controller 2020-11-19 20:59:02 +00:00
Christopher Baines 1431f712a6 Fix compare by datetime URL
Use package-derivations rather than derivations, as this is more accurate.
2020-11-19 20:58:38 +00:00
Christopher Baines 276c4ecd71 Vacuum the log parts table after deleting entries from it
To help keep the number of dead tuples down.
2020-11-17 20:49:47 +00:00
Christopher Baines e07b3291e8 Vacuum the package derivations table after each job
As each job deletes lots of rows in the table, vacuum it to free up space for
the next job.

I don't think this is something to do widely, but I wanted to try it out for
the tables which have a lot of churn.
2020-11-17 20:47:16 +00:00
Christopher Baines 5fb3fa177d Rework some of the table entries in the package through time tables
Try to clarify what the data means, make the revision commit more prominent
compared to the date and improve the display on smaller screens.
2020-11-16 18:49:20 +00:00
Christopher Baines c13a0ef4c1 Use a darker grey on the tables through time
Just to make sure it's easy to see.
2020-11-16 18:20:10 +00:00
Christopher Baines 375a6a37dc Support not querying pending builds
As this can take some time.
2020-11-01 22:52:53 +00:00
Christopher Baines f485423d5a Allow only fetching builds for a specific system 2020-11-01 22:49:49 +00:00
Christopher Baines 2732ba8f68 Support limiting fetching pending builds to specific revisions 2020-11-01 22:34:59 +00:00
Christopher Baines adc1d01525 Only query recent pending builds
To avoid old pending builds that never leave the scheduled/started state.
2020-11-01 21:53:19 +00:00
Christopher Baines 5674f8838d Improve verbose output for fetching build information 2020-11-01 21:53:04 +00:00
Christopher Baines 6235c6e33b Fix call-with-time-logging in (guix-data-service utils)
It was just recording 0.
2020-11-01 21:17:31 +00:00
Christopher Baines e394d1d6ad Show build information when comparing package derivations
As this is useful to see, as it can indicate that a change to the derivation
has led to the builds to start failing/succeeding.
2020-10-31 15:55:11 +00:00
Christopher Baines 1573fe566b Remove a few peek calls that snuck in 2020-10-31 15:54:34 +00:00
Christopher Baines f05af4479d Add a way of displaying build statuses as small labels 2020-10-31 15:53:50 +00:00
Christopher Baines c05cbd8438 Rename some derivation comparison procedures
As they actually just relate to package derivations.
2020-10-31 13:52:08 +00:00
Christopher Baines 54616bc9e4 Add default "none" target to the package derivation outputs page
This avoids odd results for the links from the package substitute availability
page.
2020-10-31 13:27:06 +00:00
Christopher Baines 6c47212c4d Improve the failed comparison page 2020-10-23 16:23:16 +01:00
Christopher Baines faa32234d8 Fix compare package derivations JSON link 2020-10-23 12:47:43 +01:00
Christopher Baines 63fc1917f8 Sort the pending builds by timestamp
So that builds that have been pending for a longer time are fetched first.
2020-10-21 20:49:58 +01:00
Christopher Baines 5124f3be3e Update insert-new-latest-status-entries
To use the status first for ordering, then the timestamp. This ensures
sensible behaviour regardless of what timestamps are present.
2020-10-21 20:25:59 +01:00
Christopher Baines 2e859ed981 Increase the limit on pending builds to query
As there are quite a lot of pending builds.
2020-10-21 20:08:02 +01:00
Christopher Baines 553f00d4cf Fix rendering of the /builds page 2020-10-21 20:05:37 +01:00
Christopher Baines 266a2d867c Limit the builds displayed on the /builds page
Otherwise it can't render if there are lots of builds.
2020-10-21 19:58:27 +01:00
Christopher Baines fa6e4ac842 Use the status for ordering, as well as timestamp
As this will handle cases where the timestamps from Cuirass don't make sense,
like a build being canceled with a timestamp of 0 (1970).
2020-10-21 19:47:11 +01:00
Christopher Baines efb26a616d Add a view build link on the build page 2020-10-21 19:26:18 +01:00
Christopher Baines 41a7f38f44 Cleanup scheduled and started builds with "0" timestamps
Not sure how these appeared, but deleting them seems to be sensible.
2020-10-21 19:25:30 +01:00
Christopher Baines b5b89b3645 Fix broken links to builds 2020-10-21 18:38:29 +01:00
Christopher Baines 971a474f65 Update delete-unreferenced-derivations
To delete from latest_build_status as well.
2020-10-13 20:33:07 +01:00
Christopher Baines 7936ca2e54 Remove unnecessary join in select-outputs-without-known-nar-entries 2020-10-13 19:45:41 +01:00
Christopher Baines 83f68a8afa Display backtraces when exceptions occur for fetching builds 2020-10-13 19:35:45 +01:00
Christopher Baines e273e22042 Switch queries across to use latest_build_status 2020-10-13 19:35:40 +01:00
Christopher Baines 83884ed2ea Add a latest_build_status table
This will avoid many queries trying to figure out what the latest build status
is, which will hopefuly simplify queries as well as improving performance.
2020-10-13 19:31:43 +01:00
Christopher Baines 941d1af556 Include the revision in the package derivation outputs JSON 2020-10-13 18:52:08 +01:00
Christopher Baines f15dc5ab0b Include package details for the package derivation outputs JSON
So it's easier to match the output back to the package.
2020-10-13 18:51:21 +01:00
Christopher Baines 4231f11cb8 Tweak linking to build servers
Move the logic from different places in the view code, and also start
supporting linking to guix.cbaines.net builds. I'm unsure quite how to
generalise this, but just starting doing it is probably the way forward.
2020-10-11 21:19:00 +01:00
Christopher Baines d05a7397fb Improve latest processed revision pages for reproducibility stuff
Support the package-derivation-outputs page, and switch the
package-reproducibility page across to use it.
2020-10-11 17:05:38 +01:00
Christopher Baines efbbac5099 Add a very rough JSON output for the package derivation outputs page 2020-10-11 16:53:29 +01:00
Christopher Baines f02c245652 Add another guard clause in to the data deletion code
I've see this error [1] which may relate to the derivation-output-details-id
not being a number, so this check should confirm if there is a issue.

1: Throw to key `psql-query-error' with args `(fatal-error "PGRES_FATAL_ERROR" "ERROR:  invalid input syntax for integer: \"\"\n")'.
2020-10-10 13:34:54 +01:00
Christopher Baines 4f3be14c16 Split the jobs metric in to succeede, queued and failed
Rather than just completed or not.
2020-10-09 20:19:28 +01:00
Christopher Baines 5267bde603 Add Prometheus metrics for indexes specifically 2020-10-09 19:42:14 +01:00
Christopher Baines 2fa9f151f6 Include the base commit and target commit in the compare output
This makes it easier to make other requests with the response body.
2020-10-09 19:35:38 +01:00
Christopher Baines 3cb8ce51fc Include tablespace as a label for table metrics
As this will make it easier to tell where space is going.
2020-10-09 19:35:31 +01:00
Christopher Baines 6023aa8caf Improve select-job-for-commit
It now returns #f or a list, rather than the empty list or a nested list.
2020-10-09 19:31:51 +01:00
Christopher Baines 51204aefca Clarify that the derivations comparison only is for packages
As it excludes the channel instances and system tests.
2020-10-09 19:31:21 +01:00
Christopher Baines 853aaa6a7c Use letpar& for systems and targets in render-compare/derivations 2020-10-09 19:30:48 +01:00
Christopher Baines 8daf35e2df Change the derivation comparison targets
To be targets, rather than systems.
2020-10-09 19:29:58 +01:00
Christopher Baines 1f55718d75 Link to the revisions in the comparison header 2020-10-09 19:29:38 +01:00
Christopher Baines da8586f62d Guard against errors when recording job stderr output
This might help at least handle errors when inserting data in to PostgreSQL.
2020-10-09 19:28:06 +01:00
Christopher Baines 2c463fcdab Guard against derivation IDs that aren't numbers
I saw an error suggesting that something came back that wasn't a number, and
this should give a more informative error.
2020-10-09 19:27:04 +01:00
Christopher Baines f1eb2d3bd2 Change table-schema to detect when there are no results
This might give more insight to the [1] errors occuring for some builds.

1: error: couldn't find data for locale in ()
2020-10-08 17:36:21 +01:00
Christopher Baines 062397e82b Just use map rather than par-map& for deleting derivations
As I think par-map& is probably no faster.
2020-10-08 08:20:03 +01:00
Christopher Baines 936fda57c5 Make the derivation deletion batch size configurable 2020-10-08 07:52:03 +01:00
Christopher Baines b540abaeba Reduce the derivation deletion batch size 2020-10-08 07:49:28 +01:00
Christopher Baines 03ea66cf33 Use the git repository fetch with authentication value 2020-10-07 18:51:30 +01:00
Christopher Baines 9f9c23010e Support storing whether to authenticate commits by git repository
To allow using the Guix Data Service when commits aren't authenticated.
2020-10-07 18:50:13 +01:00
Christopher Baines 888d9fcb98 Avoid locking up the thread pool channel on letpar& exceptions
Previously, if an exception occurred during the processing of any but the last
letpar& expression, the replies for the other expressions would never be
fetched, resulting in that thread in the pool just waiting for a receiver for
the message.

To avoid this, make sure to read all the replies before raising any
exceptions.
2020-10-04 15:38:31 +01:00
Christopher Baines a8d5ea4654 Fix the no latest revision behaviour for the latest revision links
Previously the render-unknown-revision procedure would error, as it wasn't
meant for this purpose.
2020-10-04 15:12:26 +01:00
Christopher Baines f68166514f Actually delete more of the data for a revision
Previously the package_derivations table wasn't considered, which would mean
derivations would still be referenced. This commit fixes that, along with also
deleting unreferenced entries in some linter related tables.
2020-10-04 15:11:21 +01:00
Christopher Baines 48673b32cb Fix delete-unreferenced-derivations 2020-10-04 13:23:15 +01:00
Christopher Baines 93c9813546 Fix the implementation of par-map&
It was pretty wrong...
2020-10-04 13:22:35 +01:00
Christopher Baines d2646e7110 Remove some non-existent imports 2020-10-04 13:22:24 +01:00
Christopher Baines a24d3e934d Extract out the ability to delete a range of commits
Some revisions have got disassociated from branches, probably because they
were associated with multiple branches in the first place. This should allow
deleting them.
2020-10-04 12:18:57 +01:00
Christopher Baines fe7da1ba57 Remove some unnecessary parallel-via-thread-pool-channel calls
As these were causing errors because they were nested in letpar&.
2020-10-04 11:29:51 +01:00
Christopher Baines 96b65f16fb Avoid fiber deadlocks
Channels don't represent some channel on which messages travel, at least not a
very long one because it can't accommodate any messages. They simply represent
a direct exchange of the message between a sender and receiver. Because of
this, put-message blocks the fiber, and if all the threads on the other end
are waiting for replies to be received, then you have a deadlock.

To avoid this situation, spawn new fibers to send the messages. I think this
works at least, although I'm unsure how sensible it is.
2020-10-04 10:18:53 +01:00
Christopher Baines 55eaaaeeac Bump the copyright date in the footer
Later is better than never...
2020-10-03 21:42:18 +01:00
Christopher Baines c3c9c07f9a Completely rework the way db connections are handled during requests
Previously, a connection was passed through the code handling the
request. When queries were performed, this could block the thread though,
potentially leaving the server unable to serve other requests.

Instead, this now runs queries in a pool of threads. This should remove the
possibility of blocking the threads used by the web server, and in doing so,
some of the queries have been parallelised.

I''m still not sure about the naming and syntax, but I think the functionality
is a sort of step forward.
2020-10-03 21:35:31 +01:00
Christopher Baines e2e55c69de Rework the shortlived PostgreSQL specific connection channel
In to a generic thing more like (ice-9 futures). Including copying some bits
from the (ice-9 threads) module and adapting them to work with this fibers
approach, rather than futures. The advantage being that using fibers channels
doesn't block the threads being used by fibers, whereas futures would.
2020-10-03 21:32:46 +01:00
Christopher Baines 18b6dd9e6d Stop opening a PostgreSQL connection per request
This was good in that it avoided having to deal with long running connections,
but it probably takes some time to open the connection, and these changes are
a step towards offloading the PostgreSQL queries to other threads, so they
don't block the threads for fibers.
2020-10-03 09:22:29 +01:00
Christopher Baines 9723a18df4 Add some utilities to work with PostgreSQL connections in threads 2020-10-03 09:20:39 +01:00
Christopher Baines 1bdc8855ba Extract out opening PostgreSQL connections
So this can be reused.
2020-10-03 08:55:56 +01:00
Christopher Baines 470573b318 Delete derivation_source_files that are unreferenced
This will also delete unreferenced derivation_source_file_nars.
2020-10-02 20:15:23 +01:00
Christopher Baines 71afa93981 Make with-postgresql-connection work with multiple values 2020-10-02 20:15:23 +01:00
Christopher Baines 125a35fce5 Reformat lint warning related query 2020-10-02 17:52:07 +01:00
Christopher Baines af40c1ac13 Speed up a query for derivation builds
This change removes a sequential scan from the query plan, making it much
faster.
2020-10-02 17:51:55 +01:00
Christopher Baines c05a8e4e9f COALESCE a couple more pg_stat fields
As apparently they can be NULL.
2020-10-01 22:00:52 +01:00
Christopher Baines 7f49756bac Track some pg_stat metrics
Hopefully this'll help track database things better.
2020-10-01 21:43:41 +01:00
Christopher Baines 404f39a9ee Drop default thread count for make-postgresql-connection-channel
At least for data deletion, 4 seems unnecessary.
2020-10-01 19:41:13 +01:00
Christopher Baines 54654417a3 Delete derivations in parallel
In an attempt to make this faster.
2020-10-01 19:15:32 +01:00
Christopher Baines 16600b1a43 Remove the deleting derivations progress output
As this is harder to do when deleting derivations in parallel.
2020-10-01 19:14:56 +01:00
Christopher Baines fb4c7ecd4c Delete derivations through a channel
Not much different from before, but this will allow parallelising things.
2020-10-01 19:14:11 +01:00
Christopher Baines 614f9888a5 Add some utilities to use PostgreSQL/Squee through a channel
To allow for some concurrency.
2020-10-01 19:13:30 +01:00
Christopher Baines 3330f034a4 Remove a now redundant part of the maybe-delete-derivation query
As this is covered by the big query selecting the derivation ids.
2020-09-30 20:34:33 +01:00
Christopher Baines d844b325e2 Stop recursing now that derivation deletion selection is smarter
As this probably won't help with performance.
2020-09-30 20:07:41 +01:00
Christopher Baines 47af6c9661 Attempt to speed up derivation deletion
Stop querying for the file-name, as it's unused. Rather than fetching all ids,
then looking at each to see if it can be deleted, do some imperfect but not
too slow checks in the initial query.
2020-09-30 19:38:56 +01:00
Christopher Baines 033858410b Add a JSON page for repository branches 2020-09-27 16:32:56 +01:00
Christopher Baines f7933807ac Add a JSON representation for repositories 2020-09-27 16:26:45 +01:00
Christopher Baines 02681d7e7a Fix delete builds for derivation output details set 2020-09-27 16:21:51 +01:00
Christopher Baines 84907fe040 Implement the JSON representation for system tests 2020-09-27 12:06:18 +01:00
Christopher Baines 5b13ee2251 Delete builds for unreferenced derivations 2020-09-27 11:11:02 +01:00
Christopher Baines 52a23a5333 Further data deletion improvements 2020-09-27 11:10:47 +01:00
Christopher Baines 65e8bf3f8d Add delete-revisions-from-branch-except-most-recent-n 2020-09-26 19:38:56 +01:00
Christopher Baines 992a0af63e Split off delete-revisions-from-branch from delete-data-for-branch
To support not deleting all of the revisions.
2020-09-26 18:23:21 +01:00
Christopher Baines 6bc1da014f Better handle loading the (guix i18n) module in the inferior
Previously it would only be loaded if the (guix lint) module exists.
2020-09-26 16:07:53 +01:00
Christopher Baines faf46565ce Fix some package search issues
Previously, the name wasn't taken in to account when filtering results, so a
search like "git-annex" wouldn't find the git-annex package, since it's
synopsis or description doesn't include the name.

Filtering on the name made the queries much slower, so to address that, the
filtering by revision is moved to a separate part of the CTE, which means
PostgreSQL filters down the rows by quite a lot before it begins filtering by
name.

Also, add in a variant of the query without dashes (-) because that helps with
searches like ruby-engine.
2020-09-26 16:05:06 +01:00
Christopher Baines 53341c70fc Change the locale codeset representation
From the normalized one, to the one actually contained within glibc. Recent
versions of glibc also contain symlinks linking the normalized codeset to the
locales with the .UTF-8 ending, but older ones do not.

Maybe handling codeset normalisation for queries would be good, but the locale
values ending in .UTF-8 are more compatible and allow the code to be
simplified. For querying, maybe there should be a locales table which handles
different representations.
2020-09-26 11:45:57 +01:00
Christopher Baines af2e12a9ef Add some new metrics about load new revision jobs 2020-09-20 19:13:23 +01:00
Christopher Baines fd3ba489d9 Add a metric for the number of revisions 2020-09-20 18:39:46 +01:00
Christopher Baines 857ac36711 Return a number from count-guix-revisions 2020-09-20 18:38:39 +01:00
Christopher Baines c596a1c6a9 Add a Prometheus metrics page, with some database metrics
The database size is growing, but it's hard to know what parts are growing the
fastest. These metrics will hopefully help with understanding that.
2020-09-06 13:14:31 +01:00
Danjela Lura 50d2e4e158 Add JSON representation for the store item page
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-26 21:26:08 +01:00
Danjela Lura d5c101dee7 Add JSON representation for the derivation page
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-26 21:20:00 +01:00
Ludovic Courtès 773fe2a19f Add dependency on Guile-lzlib.
Guix no longer provides the (guix lzlib) module.  This commit arranges
to use Guile-lzlib instead.
2020-08-26 11:27:54 +02:00
Danjela Lura 599c621b88 Postpone the execution of the query that displays locale options
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-14 21:55:59 +01:00
Danjela Lura 7984179f5e Guard against null package metadata ids
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-13 08:58:09 +01:00
Danjela Lura 086cb9c9d0 Modify the search-packages-in-revision query to make it faster
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-12 08:53:59 +01:00
Danjela Lura bef826cf2e Make call-with-time-logging handle multiple return values
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-12 08:53:54 +01:00
Danjela Lura 5b3e5d9441 Update the package_metadata_tsvectors with new entries
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-12 08:53:49 +01:00
Christopher Baines a6a4a84b20 Avoid problems with lint warnings for duplicate packages
Use the deduplicated list of packages when fetching lint warnings, to avoid
duplicates. This was first seen in the following Guix commit
843344273c6a587b8e6c84d8406500fd64d8908a.
2020-08-09 16:53:26 +01:00
Christopher Baines 1e0332136e Fix rendering the required failed builds for builds by id
Use the derivation-file-name from the database, rather than the query
parameter.
2020-07-13 19:12:09 +01:00
Christopher Baines a1af644310 Change select-required-builds-that-failed to exclude succeeded builds
Only include a failed build if that build server hasn't had any success
building that output. The Guix Build Coordinator can build one output with
many different builds, so this helps avoid showing lots of spurious failures.
2020-07-13 18:55:50 +01:00
Christopher Baines 745a8bdbf1 Also show related failed builds for scheduled builds
Because the Guix Build Coordinator doesn't mark builds blocked by failures as
failed-dependency, they're just left as scheduled.
2020-07-13 18:55:07 +01:00
Christopher Baines e9d4e74e56 Add builds to the store item page 2020-07-04 09:31:12 +01:00
Christopher Baines 4b1dc76f18 Improve the revision builds page
Allow specifying how many results to show, and say how many results are being
shown.
2020-07-03 20:33:16 +01:00
Christopher Baines 69d3c83986 Improve select-builds-with-context
Support specifying the limit, and improve the ordering.
2020-07-03 20:32:45 +01:00
Christopher Baines 092f01b6f2 Fix the builds table headers 2020-07-02 20:36:08 +01:00
Christopher Baines bbf8011c95 Fix a bug with the derivation and output history JSON representation
Thanks to zimoun for reporting.
2020-07-01 19:58:36 +01:00
Christopher Baines dc8b442e12 Improve the linking to build servers
Add a build-url function that returns the URL to use, and use this where
appropriate.
2020-07-01 19:51:21 +01:00
Christopher Baines 1e2fefa7cf Change select-build procedures to avoid join issues
The number of build_status rows coming back was being amplified by the INNER
JOIN, using a subquery guards against this.
2020-07-01 19:42:42 +01:00
Christopher Baines 5ee8207565 Avoid duplicate build status entries
This effectively makes adding build status entries idempotent to some degree.
2020-07-01 09:35:29 +01:00
Christopher Baines 9192550331 Implement more support for builds from the Guix Build Coordinator
Builds from the Guix Build Coordinator might not have timestamps, and the id
from the build server is more important, as one build server can build the
same derivation many times.
2020-07-01 09:35:29 +01:00
Christopher Baines 879021f21f Fix match in render-builds 2020-06-28 21:44:51 +01:00
Christopher Baines 911d0779ed Fix compute-token
For some reason the string-filter arguments were the wrong way around.
2020-06-28 21:42:05 +01:00
Christopher Baines 1d48885e6a Make build_status.timestamp nullable
The Guix Build Coordinator doesn't record timestamps for events
currently. This is something to fix, but allow for build statuses without
timestamps as they're not necessary.
2020-06-27 14:05:51 +01:00
Christopher Baines d687928a04 Implement insert-build-status using insert-build-statues
To reduce the number of code paths.
2020-06-27 14:05:51 +01:00