Skip to content

Add `LocalExecutionClient` class

Jürg Billeter requested to merge juerg/localexecutionclient into master

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

Edited by Jürg Billeter

Merge request reports