Draft: Cache-only execution through buildbox-run-hosttools
This is a continuation of !269 (merged) (#68 (closed)).
This implements local execution with BuildGrid/buildbox/buildbox-run-hosttools, which will be used instead of simply failing if the user specifies a remote cache but not a remote runner.
This was also discussed on ticket #68 (closed), but is a bit more controversial than !269 (merged), since this may poison the cache. This should probably be behind a compilation flag, or at least less easily triggered.
Note: This branch must be used with commit 655a7273780e59ee3dd1a50e21de3d3bcc16a561 or later of buildbox-common.
Todo:
-
Launch a localcas with recc and enable this in buildbox-run - This seems to be necessary at least for performance reasons.
-
Work out why our build results are not currently pushed to the cache - I believed that this would be handled by buildbox-run, but it doesn't seem to work in practice.
-
Figure out a better way to test local/remote execution - Currently we're mocking execution actions by just giving the execution a fake digest. This is cool, but doesn't really work anymore since the buildbox-run interface needs a full-fledged action, and we don't want to round-trip.
-
Figure out how to implement skipCache for the localexecutionclient - This may need support for split remotes in buildbox-common's CLI for buildbox-run, and then an implementation in at least buildbox-run-hosttools. Unsure if this is maybe already supported somehow.
-
Hide feature behind compilation flag
Edited by Tristan Maat