summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/task.rs
AgeCommit message (Collapse)Author
2021-11-01runner: use rootfs passed in Task definitionMatthias 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-01runner: allow passing a map of pins with a task submissionMatthias Schiffer
Pins allow to use fixed versions of dependencies. They are stored separately from regular dependency archives.
2021-11-01runner: detect file conflicts in dependencies againMatthias Schiffer
The new code will also detect conflicts between the rootfs and individual dependencies.
2021-10-31runner: unpack dependencies only onceMatthias 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-30runner: set up /dev in separate directoryMatthias Schiffer
Preparation for removal of a single rootfs.
2021-10-30runner: remove unneeded reference reported by clippyMatthias Schiffer
2021-10-30runner: verify hash when unpacking dependenciesMatthias Schiffer
2021-10-30Make TaskOutput input hash optionalMatthias 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-28Pass workdir from driver to runnerMatthias 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-28runner: drop paths::abs() functionMatthias Schiffer
2021-10-28Move handling of current directory of task to driverMatthias Schiffer
2021-10-28Pass target directory for download archives from driver to runnerMatthias Schiffer
2021-10-28Pass full Output path to runnerMatthias Schiffer
Concatenate TASK_DESTDIR with output path in driver instead of runner to reduce amount of shared logic between driver and runner.
2021-10-27runner: get rid of spawn argument funnellingMatthias Schiffer
2021-10-26runner: move Checkable trait into separabe moduleMatthias Schiffer
2021-10-26runner: move jobserver token handling into task processMatthias 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-26runner: pass jobserver to task handler as referenceMatthias Schiffer
Some code simplification.
2021-10-26runner: hold lock on task state dir while task is runningMatthias Schiffer
Do not allow concurrent runs of the same task.
2021-10-26runner: do not delete whole task dir, only layer and work dirMatthias Schiffer
We will also store a lockfile in the taskdir that must not be deleted.
2021-10-25Move runner into separate crateMatthias Schiffer