aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent.scm
Commit message (Collapse)AuthorAge
...
* Fix gc being disabled in the agent processes post forkChristopher Baines2020-05-18
|
* Reduce the wait before checking for exited processesChristopher Baines2020-05-17
|
* Improve the agent job process exit messageChristopher Baines2020-05-17
|
* Disable Guile's GC while forkingChristopher Baines2020-05-17
| | | | | Sometimes primitive-fork seems to hang, maybe related to a futex system call. I think disabling the garbage collector helps avoid this.
* Improve the agent parallel job processingChristopher Baines2020-05-17
|
* Support agents processing builds in parallelChristopher Baines2020-05-17
|
* Retry fetching substitutes for buildsChristopher Baines2020-05-17
| | | | In case of failures.
* Support providing different substitute URLs for different purposesChristopher Baines2020-05-08
| | | | | | | The agent looks to substitute the derivation, and also substitute inputs, so allow providing different substitute URLs for each of these purposes. This can make substituting faster in the case where you have a different source of substitutes for derivations and non-derivation items.
* Retry fetching derivations for the agentChristopher Baines2020-05-06
|
* Fix the failed to fetch substitutes for error messageChristopher Baines2020-05-05
|
* Don't raise an exception when substitutes failChristopher Baines2020-05-05
|
* Fix some indentation in agent.scmChristopher Baines2020-05-05
|
* Better guard against build setup issuesChristopher Baines2020-05-05
| | | | I've seen an agent miss dependencies, so this should help guard against that.
* Avoid using has-substitutes? if one isn't availableChristopher Baines2020-05-01
| | | | | | | | | Because 404's for substitutes are cached for 3 hours (I think this is the current behaviour in Guix), this can mean that even though a substitute might become available, you migth have to wait up to 3 hours to be able to use it. To try and avoid this circumstance, check if a substitute is available without using the daemon, and only ask it if there should be one available.
* Say what log file is being uploadedChristopher Baines2020-04-27
|
* Improve the output from the agent processChristopher Baines2020-04-27
|
* Don't expect substitute-derivation to evaluate to #tChristopher Baines2020-04-26
| | | | It raises an exception if unsuccessful now.
* Make it possible to pass in substitute-urls to the agentChristopher Baines2020-04-26
| | | | So that you don't have to just use the daemon's defaults.
* Add helpful output to the agent processChristopher Baines2020-04-25
|
* Don't output the build log on the agent processChristopher Baines2020-04-25
| | | | | This isn't particularly helpful, especially as the agent process now handles the log file.
* Support sending and storing log files for buildsChristopher Baines2020-04-25
|
* Restructure the post build actionsChristopher Baines2020-04-25
|
* Send over some metadata from the agent for each outputChristopher Baines2020-04-23
| | | | | | This will hopefully make it easier to create narinfo files for the outputs. I think all of this information can be derived from the nar, but I'm not sure how to do that, so maybe this can eventually be removed.
* Only sleep in the agent when there are no buildsChristopher Baines2020-04-17
| | | | The last time the agent checked.
* Add better error handling in to the agentChristopher Baines2020-04-16
| | | | So that it reports issues to the coordinator, rather than just crashing.
* Support reporting setup failures to the coordinatorChristopher Baines2020-04-13
|
* Have agents run in a loopChristopher Baines2020-04-13
| | | | Perform a build, then query for the next one.
* Only download missing inputs if all have substitutesChristopher Baines2020-04-13
| | | | | | | To avoid potentially wasting time. Instead, report the missing inputs to the coordinator as soon as possible. The build may be scheduled on a different agent, so it might not be necessary to download the inputs which do have substitutes available.
* Add support for sending/receiving build resultsChristopher Baines2020-04-13
|
* Re-work how agents handle missing inputsChristopher Baines2020-04-13
| | | | Don't start the build if there are missing inputs.
* Extract out substitute-derivation to the utils moduleChristopher Baines2020-04-13
| | | | So it can be used by the coordinator as well.
* Add initial support for sending/storing build outputsChristopher Baines2020-04-13
|
* Work around the daemon attempting to build derivations straight awayChristopher Baines2020-04-11
| | | | | | | | | The intent here is to use substitutes for the derivation, as well as any inputs that are required, then build the derivation without substitutes. To achieve this, ask the daemon to build the derivation, which will download the substitute, and then close the connection once this is done to prevent the derivation outputs being immediately built or substituted.
* Begin to implement building derivationsChristopher Baines2020-04-11
|
* Support agents fetching buildsChristopher Baines2020-04-10
|
* Implement more of an agent sending a status updateChristopher Baines2020-04-10
|
* Initial commitChristopher Baines2020-04-03
Setup done with the aid of [1]. 1: https://www.draketo.de/proj/with-guise-and-guile/guile-projects-with-autotools.html