tree b6ffceca243ffc4c834b31cbfc70204e0e08eb33
parent 267142f3dc6b8d32b07beb21e3b4ba6f471a69d8
author Chi Wang <chiwang@google.com> 1647606244 +0800
committer GitHub <noreply@github.com> 1647606244 +1100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiNHnkCRBK7hj4Ov3rIwAA/q8IAJ9QeduB/RV8YWyBxK0+PvBf
 mEUSHnOc2JOMMErTYea4odBUYdRITPhrJpqnDVAhn0R4HrldGWuf+/MN0K49HuBr
 PpHHYjCMWG/3uc1XuVuvEY8Tf67vZA0enYkZjdaTfyb1Qz5LC+Gedtat+LGNdc09
 MAzF5oDGSUM/320NmabeG8mlF/OCoLUGuuVjSIzw4S+QIyb4QRZ4VMEVfzAxnC7I
 cOQHStpaZCWK+QdFoh093DBFtfLTIg3dc9weigXkEGvPexO9uetHek08ky4pmTPv
 D5fYZi+4bjlAINJE2wk6U3i+ZkdbUl7xBDpSGEG9bP+BUnq+mK8vZ3m7ZKot4Tg=
 =t3kj
 -----END PGP SIGNATURE-----
 

[5.1] Remote: Action should not be successful and cached if outputs were not created (#15071)

* Add a method, Spawn#isOutputMandatory, to indicate whether a Spawn must create an output by the end of its execution. If not, a Spawn (like a test) may succeed without necessarily creating that output.

The 4 categories of actions that do this are:

1. Tests (tests can create XML and other files, but may not).
2. Java compilations with reduced classpaths (the initial compilation with a reduced classpath may fail, but produce a usable jdeps proto file, so the Spawn will claim that it succeeded so that the action can process the proto file).
3. Extra actions with a dummy output that is produced locally, not by the Spawn. However, by changing the outputs of the Spawn to be empty, this situation is avoided.
4. C++ compilations with coverage (a .gcno coverage file is not produced for an empty translation unit).

In particular, all SpawnActions' Spawns have #isMandatoryOutput always return true, and there should be no new cases of #isMandatoryOutput returning false besides the ones added in this CL.

PiperOrigin-RevId: 425616085

* Remote: Don't upload action result if declared outputs are not created.

Even if the exit code is 0. Missing declared outputs will be detected by Bazel later and fail the build, so avoid uploading this false positive cache entry.

Wrap buildUploadManifest inside a `Single.fromCallable` since there are many IOs (both the check we add in this PR and stats already there). If `--experimental_remote_cache_async` is set, these IOs will now be executed in a background thread.

Fixes https://github.com/bazelbuild/bazel/issues/14543.

Closes #15016.

PiperOrigin-RevId: 434448255

* Remote: Check declared outputs when downloading outputs.

An AC entry that misses declared outputs of an action is invalid because, if Bazel accepts this from remote cache, it will detect the missing declared outputs error at a later stage and fail the build.

This PR adds a check for mandatory outputs when downloading outputs from remote cache. If a mandatory output is missing from AC entry, Bazel will ignore the cache entry so build can continue.

Also fixes an issue introduced by #15016 that tests result are not uploaded to remote cache. Test spawns declare all the possible outputs but they usually don't generate them all. This change fixes that by only check for mandatory outputs via `spawn.isMandatoryOutput()`.

Fixes #14543.

Closes #15051.

PiperOrigin-RevId: 435307260

Co-authored-by: janakr <janakr@google.com>