-
Notifications
You must be signed in to change notification settings - Fork 19
Description
The remote-asset spec specifies an optional feature (quoted below) of the remote-asset Fetch server which bazel requires for a remote downloader to be useful.
// Servers *MAY* fetch content that they do not already have cached, for any
// URLs they support.
When integrated into a remote execution deployment it makes sense for these operations to be performed on remote-execution workers. To do this, we can leverage the work in #3 to form an Action representing the URI/Qualifiers and perform these fetches remotely through Execute requests.
This functionality should be a configurable option to enable these remote fetch operations to be distributed through an REv2 Execution service. In the case of bb-scheduler, this provides deduplication and metrics surrounding the relevant actions being executed.
This will require the Action used for storage of Assets to be formed using a Command which can be executed to successfully perform the fetch operation. Due to the flexibility of Qualifiers, it is likely that some pre-processing of qualifiers will be required to determine the appropriate command script to wrap the URI/Qualfiiers with.