aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java
diff options
context:
space:
mode:
authorGravatar olaola <olaola@google.com>2017-09-18 23:04:33 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-09-19 09:32:25 +0200
commit7744b86e9c7950da62e87bfff3967c67477a1620 (patch)
treea6eaa8ca42c7df294ca2c2035b12d41e59a88e21 /src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java
parent8f9ace9bb6794e23ecac28ff70a9afebfc33ee12 (diff)
Uploading failed action outputs to the remote cache, because even if the tests fails, we still want to be able to download the logs and other outputs from CAS.
This fixes a bug introduced by https://github.com/bazelbuild/bazel/commit/562fcf9f5dfd14daea718f77da95b43b1400689b. To reproduce: run a failing test vs a BES service, the test log would not be uploaded. TESTED=unit tests PiperOrigin-RevId: 169143428
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java b/src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java
index 6fef48f178..0a435fabed 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/SimpleBlobStoreActionCache.java
@@ -170,8 +170,12 @@ public final class SimpleBlobStoreActionCache implements RemoteActionCache {
@Override
public void upload(
- ActionKey actionKey, Path execRoot, Collection<Path> files, FileOutErr outErr)
- throws IOException, InterruptedException {
+ ActionKey actionKey,
+ Path execRoot,
+ Collection<Path> files,
+ FileOutErr outErr,
+ boolean uploadAction)
+ throws IOException, InterruptedException {
ActionResult.Builder result = ActionResult.newBuilder();
upload(result, execRoot, files);
if (outErr.getErrorPath().exists()) {
@@ -182,8 +186,10 @@ public final class SimpleBlobStoreActionCache implements RemoteActionCache {
Digest stdout = uploadFileContents(outErr.getOutputPath());
result.setStdoutDigest(stdout);
}
- blobStore.putActionResult(
- actionKey.getDigest().getHash(), new ByteArrayInputStream(result.build().toByteArray()));
+ if (uploadAction) {
+ blobStore.putActionResult(
+ actionKey.getDigest().getHash(), new ByteArrayInputStream(result.build().toByteArray()));
+ }
}
public void upload(ActionResult.Builder result, Path execRoot, Collection<Path> files)