Runners¶
Runners are in charge of preparing an environment and executing an Action
in it.
Different implementations are free to choose their own way of creating that environment, and may choose to provide features such as sandboxing.
Since different types of runners will have similar functionality, buildbox-common provides a Runner
base class that can be used to reduce code duplication.
Current implementations¶
buildbox-run-hosttools¶
https://gitlab.com/BuildGrid/buildbox/buildbox-run-hosttools/
This is the simplest runner, providing no sandboxing. It invokes the build tools that are available on the local system.
buildbox-run-userchroot¶
https://gitlab.com/BuildGrid/buildbox/buildbox-run-userchroot/
It allows to execute commands in a sandbox created by userchroot.
buildbox-run-bubblewrap¶
https://gitlab.com/BuildGrid/buildbox/buildbox-run-bubblewrap/
It uses bubblewrap to provide sandboxing.
Execution metrics metadata¶
Runners based on buildboxcommon::Runner support returning execution metrics as part of the ExecutedActionMetadata
.
See this section for more details: ExecutedActionMetadata.