aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator
Commit message (Collapse)AuthorAge
* Extract out agents submitting log filesChristopher Baines2020-10-24
| | | | So that this code can be retried if submitting the build result fails.
* Add the ability to ignore errors when retryingChristopher Baines2020-10-24
| | | | As this will enable responding to some exceptions at a higher level.
* Improve the line length for the receiving outputs codeChristopher Baines2020-10-24
|
* Allow configuring the s3-publish-hook with a aws commandChristopher Baines2020-10-24
| | | | So that an absolute filename can be used.
* Add some validation for hooksChristopher Baines2020-10-24
|
* Make the s3 utils command configurableChristopher Baines2020-10-24
| | | | In case you want to use the absolute location of the binary.
* Remove unnecessary underscoreChristopher Baines2020-10-23
| | | | This matches a change in the guile prometheus library.
* Move the post-publish-behaviour inside the s3 publish hookChristopher Baines2020-10-22
| | | | | | So that it'll run only if the narinfo on S3 is changed, because this should prevent it running when the hook wouldn't change the narinfo on S3, because one already exists.
* 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.
* Display exception details prior to backtraceChristopher Baines2020-10-20
| | | | | To make sure some useful information makes it out, because (backtrace) can raise an exception.
* Support extending the S3 publish hookChristopher Baines2020-10-19
| | | | To allow doing things with the nar/narinfo files before they're deleted.
* Improve .tmp build log file handlingChristopher Baines2020-10-11
| | | | Make more of an effort to ignore the .tmp files.
* Show backtrace on agent exceptionsChristopher Baines2020-10-11
|
* Move the registry file to a clearer nameChristopher Baines2020-10-11
| | | | | This will be a breaking change for existing deployments, as the old sqitch.db file will need to be moved manually.
* Add a hook to recomress build log filesChristopher Baines2020-10-11
|
* Move around the code for build log file locationsChristopher Baines2020-10-11
| | | | | | build-log-file-location replaces build-log-file-exists? as it doesn't always return a boolean, it also changes to return an absolute filepath for the log file if it exists, as this will be easier to use.
* Exclude .tmp files when checking for build logsChristopher Baines2020-10-10
|
* Guard against receiving parts of build log filesChristopher Baines2020-10-10
|
* Fix missing bad-request procedureChristopher Baines2020-10-07
|
* Separate the agent messaging server and client codeChristopher Baines2020-10-07
| | | | So that the client part doesn't depend on fibers.
* 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).
* Guard against Guix Data Service requests hangingChristopher Baines2020-10-02
| | | | | I don't know if this is happening, but the hooks are getting stuck, and this might be a cause.
* Track the number of builds the allocator is consideringChristopher Baines2020-09-23
|
* Fix assq-ref when handling build resultsChristopher Baines2020-09-20
|
* Work around Guile not printing backtraces without failingChristopher Baines2020-09-18
| | | | | | | | | | | | For some exceptions raised in worker threads, seemingly those that come from guile-sqlite3, Guile can't print the backtrace without erroring itself [1]. Work around Guile not being helpful by just printing out the backtrace, that Guile may fail to print, after the details of the exception. At least then there's something informative in the output. 1: In procedure string->number: Wrong type argument in position 1 (expecting string): #f
* Simplify sqlite transactionalityChristopher Baines2020-09-18
| | | | Remove one layer of exception handling, as I don't think it was adding much.
* Better describe the default hooksChristopher Baines2020-09-17
|
* Create a run-coordinator-service procedureChristopher Baines2020-09-16
| | | | | | This is moving in the direction of not having to use the script to start the service. I think for a Guix service definition, being able to specify some Guile code directly will be better.
* Move more coordinator service startup out of the scriptChristopher Baines2020-09-16
|
* Don't patch fibers, just use the different procedure directlyChristopher Baines2020-09-16
|
* Extract call-with-sigint to the utils moduleChristopher Baines2020-09-16
|
* Fix the sqitch --chdir argument for installationsChristopher Baines2020-09-16
|
* Fix insert-derivation-and-return-outputsChristopher Baines2020-09-13
|
* Use the #:namespace argument for metric registriesChristopher Baines2020-08-31
|
* Use the guile-prometheus library for the metricsChristopher Baines2020-08-31
| | | | Which was extracted from the Guix Build Coordinator.
* Switch to using guile-lzlibChristopher Baines2020-08-31
| | | | Rather than the lzlib module within Guix.
* Change how agents handle store connectionsChristopher Baines2020-08-26
| | | | | Keep a connection open for longer, to allow for doing things like registering gc roots.
* Fix passing through the ignore-if-build-for-derivation-exists parameterChristopher Baines2020-08-26
|
* Store if the derivation is a fixed output derivationChristopher Baines2020-08-26
| | | | | | | | | | | | As this information will come in useful when working out how to handle builds for fixed output derivations. Specifically, I want to make it configurable whether to add builds for fixed output derivations if a build already exists for the output, but the derivation is different. Currently, different fixed output derivations can be ignored but it's not possible to just avoid adding more builds for non fixed output derivations while adding builds when fixed output derivations change. This new information will help enable that.
* Use valid-path? rather than file-exists?Christopher Baines2020-08-15
| | | | | Because items can be in the store but not be valid. This should help with issues where the build can't start, but all the items show up in the store.
* Fix builds missing from the allocation planChristopher Baines2020-07-06
| | | | | | | Previously builds were only considered if for the derivation, all the inputs had successful builds. However, this only accounted for inputs directly matching the derivation, not other derivations that also provided the same output. This commit fixes that.
* Remove another backtick that snuck inChristopher Baines2020-07-04
|
* Remove backtick that snuck inChristopher Baines2020-07-04
|
* Tweak the related-derivations-with-no-build-for-outputs for speedChristopher Baines2020-07-04
|
* Don't skip inserting builds where the system doesn't matchChristopher Baines2020-07-04
| | | | | | | Previously, some builds where skipped for things like fixed output derivations. If a aarch64-linux build already existed, the x86_64-linux build for the same output wouldn't be created. This has delayed some builds, because they're unnecessarily waiting.
* Add datastore-list-builds-for-output-and-systemChristopher Baines2020-07-04
|
* Factor in which systems agents fetch in the allocation processChristopher Baines2020-07-03
|
* Record the systems fetched for agentsChristopher Baines2020-07-03
| | | | | So that this information can be used by the allocator. Because that's expected, also trigger allocating builds if the systems for an agent changes.
* Add datastore-find-build-derivation-systemChristopher Baines2020-07-03
|
* Record what systems agents fetch builds forChristopher Baines2020-07-03
| | | | | This can then be used by allocators to avoid allocating builds to agents that they're never going to fetch.