aboutsummaryrefslogtreecommitdiff
path: root/sqitch
Commit message (Collapse)AuthorAge
* Add tags for agentsChristopher Baines2021-01-17
| | | | | This will allow doing things like restricting builds by matching up there tags to the tags of the agents.
* 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.
* Add an index on build_tags.build_idChristopher Baines2020-12-21
| | | | This makes fetching the tags for a build faster.
* Implement build cancelationChristopher Baines2020-12-16
|
* Add an unbuilt_outputs tableChristopher Baines2020-11-06
| | | | | | | One of the slow things in the derivation ordered allocator is working out what outputs are unbuilt, as this requires looking at all the derivation outputs (of which there are lots), and checking if any build exists which has succeeded.
* 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.
* 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.
* Support tracking the end time of buildsChristopher Baines2020-07-01
|
* Support storing when builds startChristopher Baines2020-07-01
| | | | | | | This isn't particularly accurate, what's actually being stored is the current time when the record is inserted in to the coordinator database, but that should happen just before the agent starts the build, so hopefully that's good enough.
* Support storing when builds are createdChristopher Baines2020-07-01
|
* Support adding tags to buildsChristopher Baines2020-05-31
|
* Add some more indexes to speed up derivation ordered allocationChristopher Baines2020-05-11
|
* Replace datastore-fetch-input-builds-for-unprocessed-buildsChristopher Baines2020-05-10
| | | | | | | It worked under some database conditions, but was very slow under others. Move more of the logic in to SQL in an attempt to make the allocator faster. This sort of works, but there were some advantages to the approach before the approach being replaced in this commit.
* Add datastore-fetch-unprocessed-builds-with-propagated-prioritiesChristopher Baines2020-05-10
| | | | To use with the derivation ordered allocator.
* Add sqlite datastore support for storing unprocessed hook eventsChristopher Baines2020-05-08
|
* Add a couple of indexes that should speed up allocating buildsChristopher Baines2020-04-29
|
* Create an index on derivation_outputs.outputChristopher Baines2020-04-28
| | | | | This is important to speed up looking for derivations that provide an output, that's used in the allocation process.
* 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.
* Add a new table to store setup_failuresChristopher Baines2020-04-13
| | | | | | | This is when a build was allocated to an agent, but the agent couldn't setup the environment for the build. One failure I'm particularly thinking about is where inputs to the derivation are missing, so add another table to store them.
* Add the build_results tableChristopher Baines2020-04-13
|
* Create tables for allocating buildsChristopher Baines2020-04-10
| | | | | | | One table to store which build is allocated to which agent, and another to store a "plan" of allocations. For this plan, a build can be potentially allocated to multiple agents, and which agent it will be allocated to depends on which agent claims it first.
* Add initial agent related tablesChristopher Baines2020-04-10
|
* Add a migration to create the builds tableChristopher Baines2020-04-10
|
* Add tables for derivationsChristopher Baines2020-04-04
|
* Add an initial migrationChristopher Baines2020-04-03
|
* Add sqitch conf and empty planChristopher Baines2020-04-03