aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/client-communication.scm
Commit message (Collapse)AuthorAge
* Fix read-drv/substitute not actually reading the derivationChristopher Baines2022-06-15
| | | | If it is already in the store.
* Fallback to reading derivations directly from substitute serversChristopher Baines2022-06-15
| | | | | | | Rather than doing this always, since it's not currently performant enough. Once it's possible to read derivations in lazily, then this might be feasible, but for now, just fall back to it if substituting times out, which can happen if garbage collection is running.
* Use the substitutes channel for reading derivationsChristopher Baines2022-05-22
| | | | | I think the use of gnutls for the network requests, or the network requests themselves may be causing fibers to block.
* Add delay logging around submitting buildsChristopher Baines2022-05-22
|
* Avoid substituting derivations when builds are submittedChristopher Baines2022-05-15
| | | | | When the derivation substitute URLs are known. This avoids having to add the derivation to the store, which can be blocked by garbage collection.
* Support activating and deactivating agentsChristopher Baines2021-11-13
| | | | | | | | | Not sure these are the best terms to use, but I want a way to pause agents, effectively removing them from the build allocation plan. This is mostly motivated by the lack of disk space on bayfront, as deactivating agents provides a way to stop the system from filling up with builds, but I think there's more general uses as well.
* Delay storing derivations in the databaseChristopher Baines2021-05-21
| | | | | Until actually storing the build, since the build might not actually be submitted if there's a build for those outputs already.
* Support finding blocking builds not including cancelled onesChristopher Baines2021-04-16
| | | | As including cancelled ones can make the query much slower.
* Add some error handling for POST buildsChristopher Baines2021-03-27
|
* Add a new dynamic authentication approachChristopher Baines2021-02-28
| | | | | | This avoids the need to create agents upfront, which could be useful when creating many childhurd VMs or using scheduling tools to dynamically run agents.
* Move request-query-parameters to utilsChristopher Baines2021-02-28
|
* Make it possible to look for blocking builds for a specific systemChristopher Baines2021-02-02
|
* Don't crash if builds don't have a created at dateChristopher Baines2021-01-31
|
* Include allocated builds in the agents responseChristopher Baines2021-01-31
|
* Add agent tags to the agents responseChristopher Baines2021-01-31
|
* Include tags in the agents responseChristopher Baines2021-01-31
|
* Support listing and canceling builds by derivation systemChristopher Baines2021-01-31
|
* Fix a crash when rendering the client builds responseChristopher Baines2021-01-26
|
* Don't use with-exception-handler with (backtrace)Christopher Baines2021-01-22
| | | | | | | | | | | With with-exception-handler being called with #:unwind? #f (implicitly). This breaks Guile internals used by (backtrace) [1], meaning you get a different exception/backtrace when Guile itself breaks. This should avoid the "string->number: Wrong type argument in position 1 (expecting string): #f" exception I've been haunted by for the last year. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46009
* Rework client error handlingChristopher Baines2021-01-19
| | | | To see if that produces better logging.
* Fix up a load of the tag related codeChristopher Baines2021-01-17
| | | | | Turns out vector-fold and vector-map don't work like I'd expected them to, like fold and map for vectors.
* Add client code for changing agent tagsChristopher Baines2021-01-17
|
* Include agent tags in the details responseChristopher Baines2021-01-17
|
* Expose allocated builds for each agentChristopher Baines2021-01-17
|
* Don't error when builds don't have a created at timeChristopher Baines2021-01-16
|
* Enable matching tags by just the keyChristopher Baines2021-01-03
|
* Implement deferring buildsChristopher Baines2020-12-27
| | | | | | | | | This isn't intended as some time based scheduling, but more as a way to slow down builds by deferring processing them until some point in the future. I'm intending to use this to test fixed output derivations. I can look up all the derivations I want to test, then defer the builds to run spread out across some period. This feature saves having to submit the builds gradually.
* Fix processing of boolean query parameters when listing buildsChristopher Baines2020-12-21
|
* Make it possible to list builds via the command line interfaceChristopher Baines2020-12-21
|
* Fix - to _ for the builds list not_tag parameterChristopher Baines2020-12-21
|
* When listing builds, sort by id, and allow filtering by after the idChristopher Baines2020-12-21
| | | | Along with the limit, this enables pagination.
* Expose listing builds through the client APIChristopher Baines2020-12-21
|
* Support showing the agent build allocation plansChristopher Baines2020-12-20
|
* Include build tags in the GET build responseChristopher Baines2020-12-20
|
* Fix format for the times in the GET build responseChristopher Baines2020-12-20
|
* Implement build cancelationChristopher Baines2020-12-16
|
* Improve error reporting when a derivation can't be substitutedChristopher Baines2020-11-16
| | | | This avoids errors converting #f to a list.
* Use the logger module to add times to the log outputChristopher Baines2020-11-07
| | | | | Just for the request processing at the moment, but with a plan for more things in the future.
* Use valid-path? rather than file exists for testing store itemsChristopher Baines2020-10-24
| | | | | As the file might exist, but ignored because the daemon is treating it as invalid.
* client-communication: Do not use a hard-coded uri.Mathieu Othacehe2020-10-20
| | | | | * guix-build-coordinator/client-communication.scm (send-request): Use coordinator-uri instead of the hard-coded localhost uri.
* Split the fibers utils from the main utils moduleChristopher Baines2020-10-07
| | | | | To start making it possible to use the agent, without having to load anything related to fibers (as it doesn't work on the hurd yet).
* Don't patch fibers, just use the different procedure directlyChristopher Baines2020-09-16
|
* Fix passing through the ignore-if-build-for-derivation-exists parameterChristopher Baines2020-08-26
|
* Support adding tags to buildsChristopher Baines2020-05-31
|
* Support showing blocking buildsChristopher Baines2020-05-22
| | | | | This is useful to find builds that have failed, and in failing blocked other builds from being attempted.
* Fetch substitutes in a separate channelChristopher Baines2020-05-19
| | | | As I'm guessing this could block the thread for fibers.
* Improve handling of submitting buildsChristopher Baines2020-05-19
| | | | | | Don't always substitute the derivation, just fetch it if it doesn't exist in the database. Also just use the name of the derivation, only read it from the disk when it needs storing in the database.
* Fix the build show missing inputs functionalityChristopher Baines2020-05-19
|
* Make it possible to show builds for an outputChristopher Baines2020-05-19
|
* Convert the client actions to happen over HTTPChristopher Baines2020-05-17
There were a few issues with the previous approach, I was concerned about trying to write to the SQLite database from two processes, it's already segfaulting occasionally when accessing it from just one. Additionally, the client actions were already doing things that should happen in the coordinator process, like allocating builds. I'm trying to not turn this in to a web app, but not doing very well. Although having this information and these actions available over the network does make it possible to build a web app frontend, which I've had in mind.