Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-11-16 | driver: parse: add support for + flag | Matthias Schiffer | |
The + flag will be used to force running a task. | |||
2021-11-06 | driver: return output from spawn_task() for skipped tasks | Matthias Schiffer | |
Preparation for pinned tasks. | |||
2021-11-06 | driver: context: get list of rootfs-provided tasks from pins.yml | Matthias Schiffer | |
2021-11-05 | driver: context: remove separate rootfs_tasks | Matthias Schiffer | |
The rootfs tasks can now just be added to the regular task map. | |||
2021-11-05 | driver: introduce task priority field | Matthias Schiffer | |
Override the version-based task priority ordering. | |||
2021-11-05 | driver: add support for specialized tasks | Matthias Schiffer | |
Allow skipping a TaskDef unless it matches specific arg values. | |||
2021-11-05 | driver: replace regex with nom-based parser | Matthias Schiffer | |
For now, the nom-based parser doesn't really reduce complexity, but we will need a more powerful parsing solution anyways when the task YML is replaced with a specialized language. | |||
2021-11-03 | driver: recipe: sort recipes by filename | Matthias Schiffer | |
Make the task order deterministic, in case there are multiple recipes with the same name and version number. | |||
2021-11-03 | driver: store multiple recipe with the same ID, select highest version number | Matthias Schiffer | |
We are using the Debian version number scheme for comparision. | |||
2021-11-03 | driver: context: clean up error message code | Matthias Schiffer | |
2021-11-03 | driver: recipe: derive version number from filename | Matthias Schiffer | |
2021-11-03 | driver: change task reference string syntax to recipe:task@version/host:target | Matthias Schiffer | |
2021-11-01 | runner: use rootfs passed in Task definition | Matthias Schiffer | |
With this, the rootfs hash is included in the task's input hash, so now the hash covers all significant inputs except for the runner itself. | |||
2021-11-01 | context: get rootfs hash from pin map | Matthias Schiffer | |
2021-11-01 | driver: read pins from YAML file | Matthias Schiffer | |
2021-11-01 | runner: allow passing a map of pins with a task submission | Matthias Schiffer | |
Pins allow to use fixed versions of dependencies. They are stored separately from regular dependency archives. | |||
2021-11-01 | runner: set CLOEXEC on signalfd | Matthias Schiffer | |
2021-11-01 | runner: detect file conflicts in dependencies again | Matthias Schiffer | |
The new code will also detect conflicts between the rootfs and individual dependencies. | |||
2021-10-31 | driver: add to e2fsprogs to rootfs tasks | Matthias Schiffer | |
e2fsprogs is provided by our Debian-based rootfs image. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> | |||
2021-10-31 | driver: add toolchain prefix to PATH | Matthias Schiffer | |
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> | |||
2021-10-31 | runner: unpack dependencies only once | Matthias Schiffer | |
Reuse unpacked dependencies across multiple tasks by mounting them into a single task's build directory. We lose support for file conflict detection for now. | |||
2021-10-31 | runner: add Stack type | Matthias Schiffer | |
A Stack guarantees that elements are dropped in reverse push order. | |||
2021-10-30 | runner: set up /dev in separate directory | Matthias Schiffer | |
Preparation for removal of a single rootfs. | |||
2021-10-30 | runner: do not use tmpfs for temporary build directories | Matthias Schiffer | |
2021-10-30 | runner: move lockfile out of state directory | Matthias Schiffer | |
2021-10-30 | runner: remove unneeded reference reported by clippy | Matthias Schiffer | |
2021-10-30 | runner: verify hash when unpacking dependencies | Matthias Schiffer | |
2021-10-30 | examples: move recipes to subdirectory | Matthias Schiffer | |
2021-10-30 | driver: replace dependency cutoff with stub tasks | Matthias Schiffer | |
Instead of having the resolver decide whether a dependency is included in the rootfs, let the context replace the task definition with an empty stub. | |||
2021-10-30 | driver: context: change get()/index() argument to TaskRef | Matthias Schiffer | |
With the upcoming changes, we may need to return different TaskDefs depending on the passed arguments. | |||
2021-10-30 | driver: skip submission of empty tasks | Matthias Schiffer | |
2021-10-30 | Make TaskOutput input hash optional | Matthias Schiffer | |
The input hash is used for the summary output only. For empty tasks, we want to skip submitting the task to the runner at all, so there is no input hash. | |||
2021-10-30 | driver: context: more consistent use specification | Matthias Schiffer | |
2021-10-29 | driver: recipe: use common error types | Matthias Schiffer | |
2021-10-28 | Pass workdir from driver to runner | Matthias Schiffer | |
The paths modules of driver and runner do not contain any duplicates anymore. One remaining path that still appears in more places than it should is /build. | |||
2021-10-28 | runner: drop paths::abs() function | Matthias Schiffer | |
2021-10-28 | Move handling of current directory of task to driver | Matthias Schiffer | |
2021-10-28 | Pass target directory for download archives from driver to runner | Matthias Schiffer | |
2021-10-28 | Split paths module into driver and runner parts | Matthias Schiffer | |
There are still a few remaining paths that are defined in both driver and runner. | |||
2021-10-28 | Pass full Output path to runner | Matthias Schiffer | |
Concatenate TASK_DESTDIR with output path in driver instead of runner to reduce amount of shared logic between driver and runner. | |||
2021-10-28 | Rename executor to driver | Matthias Schiffer | |
2021-10-28 | executor: move some state into separate struct | Matthias Schiffer | |
2021-10-28 | executor: use lazy_static for template engine | Matthias Schiffer | |
2021-10-27 | runner: get rid of spawn argument funnelling | Matthias Schiffer | |
2021-10-27 | runner: tar: simplify spawn call | Matthias Schiffer | |
The writing end of the pipe is moved to the child process, there is no need to funnel it back to the parent process just to drop it. | |||
2021-10-27 | runner: add Steal wrapper, use for socket | Matthias Schiffer | |
A deref wrapper that allows taking out its contents, which is convenient after a fork. | |||
2021-10-26 | runner: move Checkable trait into separabe module | Matthias Schiffer | |
2021-10-26 | runner: remove another layer of child processes | Matthias Schiffer | |
With the restructuring around the poll loop and moving the job token handling to the task process, this has become unnecessary as well. | |||
2021-10-26 | runner: move jobserver token handling into task process | Matthias Schiffer | |
We can avoid holding onto a token while waiting on a lock this way. Abnormal exits that would make us lose tokens should not happen here; if they do, the runner PID1 will stop the whole build, so a lost token does not matter. | |||
2021-10-26 | runner: maintain list of task PIDs in context | Matthias Schiffer | |