Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-04-20 | Rename directories to match crate names | Matthias Schiffer | |
2024-04-20 | Replace recipe separator with :: | Matthias Schiffer | |
Make the single : usable for other syntax in the recipe language. | |||
2024-04-19 | driver: rename task_setup() to task_preamble(), improve code style | Matthias Schiffer | |
Less and consistent indentation by turning the strings into consts. | |||
2024-04-13 | Replace 'inherit' recipe field with 'parent' | Matthias Schiffer | |
All occurrences of 'inherit' in the code are replaced with 'parent' or 'ancestors'. | |||
2024-04-13 | driver: template: rename eval() to eval_sh(), eval_raw() to eval() | Matthias Schiffer | |
Make eval() the simple version that doesn't perform any escaping. | |||
2024-04-07 | driver: implement "soft" SIGINT handling | Matthias Schiffer | |
On the first SIGINT, spawning new tasks is disabled, but running tasks are allowed to finish. The second SIGINT will terminate the build immediately. | |||
2024-04-06 | driver: add --keep-going flag | Matthias Schiffer | |
2024-04-06 | driver: do not kill remaining tasks immediately on failure | Matthias Schiffer | |
2024-04-06 | driver: recipe: add comment regarding file sorting | Matthias Schiffer | |
2024-04-06 | driver: move RecipeMeta to recipe module | Matthias Schiffer | |
2024-04-06 | driver: recipe: use separate structs for recipe and subrecipe reading | Matthias Schiffer | |
Subrecipes don't have a meta section. | |||
2024-04-06 | driver: add overrideable recipe name variable | Matthias Schiffer | |
{{name}} defaults to {{basename}}, but can be overridden in the meta section. | |||
2024-04-06 | driver: refactor CompletionState::task_deps() | Matthias Schiffer | |
2024-04-05 | driver: recipe: let subrecipes inherit meta from parent | Matthias Schiffer | |
2024-04-05 | driver: recipe: refactor recipe reading | Matthias Schiffer | |
Preparation for reusing recipe meta for subrecipes. | |||
2024-04-05 | driver: do not allow overriding basename, provide additional variables to tasks | Matthias Schiffer | |
The variables {{recipename}} and {{recipe}} are now available in tasks. An overrideabe {{name}} (defaulting to {{basename}}) will be added in the future. | |||
2024-04-04 | driver: resolve: limit number of reported errors | Matthias Schiffer | |
Reporting all dependency cycles may lead to a large number of errors in some cases, resulting in a long wait just for collecting the error data. | |||
2024-04-04 | driver: add support for build.<name>.yml subrecipes | Matthias Schiffer | |
2024-04-04 | driver: recipe: move each recipe into a separate directory | Matthias Schiffer | |
2024-04-04 | driver: change task ref syntax to use @ for platform and # for version | Matthias Schiffer | |
2024-04-04 | driver: recipe: do not set version from filename | Matthias Schiffer | |
2024-04-04 | driver: context: rename pn and pv variables to basename and version | Matthias Schiffer | |
pn and pv referred to package names and versions, but we don't really have packages at the moment. | |||
2024-04-03 | driver: parse: replace nom with peg | Matthias Schiffer | |
The PEG-based parser is much more concise and easier to understand than the old combinator solution. | |||
2024-04-03 | driver: parse: introduce TaskID and TaskArgs struct | Matthias Schiffer | |
Make the parser code a bit clearer by not passing around tuples of strs. | |||
2024-04-02 | Update dependencies | Matthias Schiffer | |
2023-09-30 | Fix clippy warnings | Matthias Schiffer | |
2023-09-30 | Update dependencies | Matthias Schiffer | |
2021-11-18 | driver: context: avoid double reference in Index impl | Matthias Schiffer | |
Make lifetimes around the get() method less strict to avoid an unnecessary double reference. | |||
2021-11-17 | driver: pass force_run flag to runner | Matthias Schiffer | |
2021-11-16 | driver: pass set of tasks to force-run to driver instance | Matthias Schiffer | |
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-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-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. |