Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-25 | Move main crate to subdirectory | Matthias Schiffer | |
2021-10-25 | Move runner into separate crate | Matthias Schiffer | |
2021-10-24 | Split defintions used by both runner and executor into separate crate | Matthias Schiffer | |
Also get rid of the Runner trait - different runner implementations do not make sense with our current design. | |||
2021-10-24 | runner: merge TaskInput struct into Task | Matthias Schiffer | |
2021-10-24 | Move definition of Dependency into runner module | Matthias Schiffer | |
runner::TaskInput does not contain the dependency hashes anymore, this is handled internally in the runner module now. Unfortunately this also means that we can't use this struct directly for the InputHash anymore, but overall this reduces the complexity of the interface between runner and executor. | |||
2021-10-22 | executor: return error when reply channel is closed unexectedly | Matthias Schiffer | |
2021-10-21 | executor: run ready tasks in parallel | Matthias Schiffer | |
2021-10-21 | runner: expose reply channel | Matthias Schiffer | |
2021-10-18 | executor: use into_iter() instead of iter() in task_deps() | Matthias Schiffer | |
2021-10-18 | Move task cache handling from executor to runner | Matthias Schiffer | |
The input hash and the state directory is only a concern of the runner this way; it is only passed to the executor at all for the summary output. We're losing some cache metadata this way, as the TaskMeta struct is removed completely. Timestamps can be added back easily, but to implement proper cache cleanup we will need a replacement for the args map. | |||
2021-10-18 | executor: store TaskOutput instead of TaskMeta in tasks_done | Matthias Schiffer | |
Preparation for moving more of the caching logic to the runner. | |||
2021-10-18 | executor: summary: sort outputs by name | Matthias Schiffer | |
2021-10-18 | executor: set SOURCE_TIME_EPOCH to 1 | Matthias Schiffer | |
Eventually we will have a smarter way to set the timestamp, but for now this is sufficient. We do not use the value 0, as not all tools work correctly with it. | |||
2021-10-18 | Remove/simplify mkdir() calls | Matthias Schiffer | |
std's DirBuilder can handle concurrent calls just fine, so we don't need to create parent directories in advance. | |||
2021-10-12 | Delete state dir for unfinished tasks in runner, not in executor | Matthias Schiffer | |
Make use of CAP_DAC_OVERRIDE in the runner namespace. | |||
2021-10-11 | executor: sort and reformat summary output | Matthias Schiffer | |
2021-10-11 | runner: make layer hash output optional | Matthias Schiffer | |
There is no need to store a layer hash when the task has not touched any files. | |||
2021-10-09 | Refer to inherited tasks by their layer hash | Matthias Schiffer | |
2021-10-09 | Add layer hash to task output | Matthias Schiffer | |
For now, the hash is not actually computed. | |||
2021-10-07 | Various code improvements suggested by clippy | Matthias Schiffer | |
2021-10-03 | executor: store start time and duration of tasks | Matthias Schiffer | |
2021-10-02 | executor: add various toolchain-related variables to the environment by default | Matthias Schiffer | |
2021-09-29 | executor: evalute fetch filename using template engine | Matthias Schiffer | |
2021-09-28 | Add convenience methods and trait implementations to TaskArgs | Matthias Schiffer | |
2021-09-28 | executor: print task ref instead of meta ID in summary | Matthias Schiffer | |
When multiple tasks have the same input hash, they are unified to the same meta info, leading to a confusing summary when the ID from this info is printed instead of the original task ref. | |||
2021-09-26 | Move defintion of globals into context | Matthias Schiffer | |
Globals like "destdir" and "sysroot" are now handled like "build". In addition, their value is determined based on the "paths" module. | |||
2021-09-26 | Pass path with dependencies instead of distinguishing build and host deps | Matthias Schiffer | |
2021-09-26 | paths: move sysroot to /opt/toolchain/sysroot | Matthias Schiffer | |
Prepare for removing the separate sysroot mount. | |||
2021-09-26 | executor: fix host dependency error message | Matthias Schiffer | |
2021-09-25 | Move get_dependent_outputs() and get_dependent_tasks() to resolve | Matthias Schiffer | |
These functions always need to include runtime depends. As preparation, move them to the resolve module. | |||
2021-09-24 | context: introduce TaskNotFound error | Matthias Schiffer | |
2021-09-24 | context: prepare to make various functions fallible | Matthias Schiffer | |
2021-09-23 | Store task arguments as an enum | Matthias Schiffer | |
2021-09-22 | executor: do not allow overriding base args for now | Matthias Schiffer | |
2021-09-22 | Extend TaskRef with alternative Display format | Matthias Schiffer | |
2021-09-22 | executor: use JSON for arguments in task labels | Matthias Schiffer | |
2021-09-22 | Use same struct for InputHash and to pass task data to the runner | Matthias Schiffer | |
2021-09-19 | Switch back to static container environment | Matthias Schiffer | |
We have moved all variables to task arguments, so only the very basics are left in the container environment. | |||
2021-09-19 | Use template variables instead of environment, parametrize all examples | Matthias Schiffer | |
This implements passing of various pieces of information through task arguments, as well as argument inheritance through different kinds of dependencies. | |||
2021-09-19 | Print task label including arguments instead of only task ID in runner | Matthias Schiffer | |
2021-09-19 | Rename "target depends" to "depends" | Matthias Schiffer | |
Internally, the name "host depends" is used to match GNU build/host/target terms. | |||
2021-09-19 | Add template engine to evaluate task commands | Matthias Schiffer | |
The field "run" is renamed to "command" in a few places. We only use the evaluated command string for TaskInput now, not the TaskID or arguments. | |||
2021-09-19 | Add TaskArgs to reference types | Matthias Schiffer | |
For now the struct is empty, and each task just passes its arguments to its dependencies. | |||
2021-09-19 | Introduce Context struct | Matthias Schiffer | |
TaskRef etc. get a lifetime that is bound to the Context lifetime. This way we can reduce cloning significantly. | |||
2021-09-18 | Separate definition types and reference types | Matthias Schiffer | |
We need to distinguish TaskID/Task/TaskRef, OutputDef/OutputRef for parametrized tasks. | |||
2021-09-18 | executor: use reference for inherit hash in TaskInput | Matthias Schiffer | |
2021-09-18 | executor: use run string instead of action for TaskInput | Matthias Schiffer | |
2021-09-17 | executor: print more concise run summary | Matthias Schiffer | |
2021-09-17 | Only pass path to runner, not whole Output structure | Matthias Schiffer | |
It seems that ipc-channel can't deal with BTreeSets. Avoid the type by sending only the necessary data to the runner. | |||
2021-09-17 | executor: include runtime dependencies | Matthias Schiffer | |