Add `LocalExecutionClient` class
Before raising this MR, consider whether the following are required, and complete if so:
-
Unit tests -
Metrics -
Documentation update(s)
If not required, please explain in brief why not.
Description
This adds the LocalExecutionClient
class providing a convenient API to execute actions locally using a BuildBox runner. The abstract base class ExecutionClient
is added to provide a common API for use of LocalExecutionClient
and RemoteExecutionClient
. LocalExecutionClient
provides additional methods/parameters that only apply to local execution.
Some of this is based on code from buildbox-worker. buildbox-worker!133 (merged) replaces the corresponding buildbox-worker code with the new LocalExecutionClient
.
BuildGrid/trexe!48 (merged) also makes use of this new API.
Validation
Basic unit tests have been added. This MR has also been validated together the buildbox-worker MR in the e2e tests: https://gitlab.com/BuildGrid/buildbox/buildbox-e2e/-/jobs/5681157567