aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/hooks.scm
Commit message (Collapse)AuthorAge
* Add some port timeouts in to the build-success-publish-hookChristopher Baines2023-12-13
|
* Pass the store in to substitute-derivationChristopher Baines2023-08-20
| | | | To avoid an additional store connection.
* Switch to a more rigorous method for finding potential source refsChristopher Baines2023-08-10
|
* Ignore self output references when looking for potential source refsChristopher Baines2023-08-10
|
* Fix some log outputChristopher Baines2023-08-10
|
* Keep less derivation files open when reading derivationsChristopher Baines2023-08-03
| | | | | This probably isn't the main problem with having too many open files, but it might help avoid bursts of open files.
* Add some logging to the build success publish hookChristopher Baines2023-07-08
|
* Improve the build-success-publish-hook for referenced source filesChristopher Baines2023-07-07
| | | | | | | Previously it would always connect to the store and substitute the derivation if necessary. Now it checks first to see if there are some references from the outputs that aren't from the inputs, and if that's the case, it goes on to check if these are source files that need publishing.
* Use a timeout when substituting derivations in the publish hookChristopher Baines2023-04-10
| | | | As this can block if the store GC is running.
* More fixes for the combined post publish hookChristopher Baines2023-03-14
|
* Fix some incorrect refactoring in the publish hookChristopher Baines2023-03-14
|
* Fix passing around the derivation name in the publish hookChristopher Baines2023-03-14
|
* Add a combined variant of the post-publish-hookChristopher Baines2023-03-13
| | | | | | | | | To the build-success-publish-hook. This should make it possible to pass all nars and narinfo's to the nar-herder in one go, which in turn should make it possible to have the nar-herder validate referential integrity, even in the case where one build has multiple outputs which have circular references.
* Fix setting the lzip nar size for source file narinfosChristopher Baines2023-02-01
|
* Support publishing referenced source filesChristopher Baines2023-01-30
| | | | | Build outputs can reference derivation source files. This change to the publish hook enables publishing these referenced source files.
* Fix bug when handling missing output detailsChristopher Baines2022-07-07
|
* Send more information on derivation outputs to the Guix Data ServiceChristopher Baines2022-07-07
| | | | | | This will enable it to join builds to derivations, even if it doesn't know about the derivation being built, since it'll be able to match the outputs with other derivations it knows about.
* Allow overriding the success publish hook skip publishing behaviourChristopher Baines2022-02-04
| | | | | | This means that when using the nar-herder, you can get it to check for the presence of the nar in the database, rather than relying on the narinfo on the disk.
* Fix the build-failure-retry-hookChristopher Baines2021-03-26
|
* Make the build failure retry hook more flexibleChristopher Baines2021-03-06
| | | | | | | | Now a procedure can be passed in, which should return arguments for the builds to submit. I'm looking at using this to spread retries across a range of machines for example, by specifying different tags for each of the retries.
* Add a hook for determining whether agents should submit outputsChristopher Baines2021-02-17
| | | | | This should make it possible to check properly whether the outputs are needed, instead of just assuming they are not if there's been a successful build.
* Tweak the S3 publish hook to avoid issues for not submitted outputsChristopher Baines2021-02-14
| | | | | | | | | | | | Agents can skip submitting outputs where those outputs have already been received, this saves some work when all the information is communicated in the build status. The publish hook worked with this change, because it checks for narinfo files, and would not bother about the missing outputs if the corresponding narinfo existed. This didn't quite work with the s3 publish hook though, but these changes address that by getting the two hooks to write and check for narinfo files in the same location.
* Copy build tags in the failure retry hookChristopher Baines2021-02-02
| | | | As this probably makes sense to do.
* Fix issues around datastore-count-builds-for-derivationChristopher Baines2020-12-27
| | | | My refactoring went quite wrong.
* Change how some submit build options handle canceled buildsChristopher Baines2020-12-26
| | | | | | Don't include canceled builds in the build-for-derivation-exists? or build-for-output-already-exists? options. I think it makes sense to not include canceled builds in these options.
* Add build-canceled-send-event-to-guix-data-service-hookChristopher Baines2020-12-21
|
* Add a hook for when builds are canceledChristopher Baines2020-12-21
|
* Fix default-build-missing-inputs-hookChristopher Baines2020-12-21
|
* Handle canceled builds in the default-build-missing-inputs-hookChristopher Baines2020-12-21
|
* Make the build-success-publish-hook behaviour more transactionalChristopher Baines2020-12-20
|
* Use the same skip if narinfo exists logic in the publish hookChristopher Baines2020-12-17
| | | | | As is used in the S3 publish hook. This is useful when you don't want to overwrite existing nar+narinfo entries.
* Avoid errors when derivation for missing input can't be foundChristopher Baines2020-12-04
| | | | I've seen this happen with derivation source files.
* Propagate build tags when inserting builds for missing inputsChristopher Baines2020-11-24
| | | | | | This is useful when using tags to track the origin of builds. This doesn't necessarily have to be mandatory, maybe there are some tags where propagating isn't helpful.
* Don't assume the missing input to a build is a direct inputChristopher Baines2020-10-24
| | | | | | | | | | | | Substitutes could be available for all direct inputs, but be missing for things they reference. This could happen if those builds happened on a machine with the store items available for example. Therefore, search the entire graph for the relevant derivation when looking for the derivation to build to provide the missing input. This change matches up with the similar improvement around handling fetching substitutes.
* Allow configuring the s3-publish-hook with a aws commandChristopher Baines2020-10-24
| | | | So that an absolute filename can be used.
* 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.
* Support extending the S3 publish hookChristopher Baines2020-10-19
| | | | To allow doing things with the nar/narinfo files before they're deleted.
* Add a hook to recomress build log filesChristopher Baines2020-10-11
|
* Better describe the default hooksChristopher Baines2020-09-17
|
* Remove backtick that snuck inChristopher Baines2020-07-04
|
* Add hooks to send events to the Guix Data ServiceChristopher Baines2020-07-01
|
* Add a hook for when a build starts on an agentChristopher Baines2020-07-01
|
* Add a hook for when builds are submittedChristopher Baines2020-07-01
|
* Add a build failure hook to retry buildsChristopher Baines2020-05-23
|
* Start passing build-coordinator records to hooksChristopher Baines2020-05-08
| | | | | Plus more coordinator methods. This is a step towards making the allocator configurable.
* Add a hook for publishing to a S3 compatible endpointChristopher Baines2020-05-07
| | | | | | This is helpful if you don't have local storage for nars. There's nothing special about S3 beyond it's something I wanted to be able to use. I'm hoping to support other useful ways of publishing substitutes as well.
* Add a hook to generate the files needed to provide substitutesChristopher Baines2020-04-23
|
* Add a hook to handle missing inputsChristopher Baines2020-04-17
| | | | | | | That submits new build jobs to build these missing inputs if appropriate. This means that you can tell the coordinator to build something, and it will automatically attempt to build the dependencies if they're missing.
* Implement a couple of basic hooksChristopher Baines2020-04-16
This allows configurable code to be executed when builds succeed or fail.