Support incremental builds with workspaces + remote execution

Background

When using remote execution to do workspaced builds, we'd like to be able to do incremental builds.

This is in addition to #933 (closed) for workspaced remote builds.

For example, if we do:

  • Make a change to webkit
  • Build webkit
  • Make a small change to webkit
  • Build webkit

We'd like to be able to use the result from the first build to accelerate the second build, when doing remote execution.

The modified times of the files will need to be such that make and friends will know not to rebuild things unnecessarily.

Task description

  • When building with remote execution enabled, subsequent workspaced builds are able to be incremental, and tools like make will be able to use mtimes to rebuild minimally.

Acceptance Criteria

  • When building with remote execution enabled, subsequent workspaced builds are able to be incremental, and tools like make will be able to use mtimes to rebuild minimally.
  • Fallback to local build is not considered a fix for this ticket.