bazel: BEP's named set of files is incomplete if an action from any output group of a set of groups fails
Let T be a target, foo-outputs
and bar-outputs
be output groups, foo-action
and bar-action
be actions in T, and foo.out
and bar.out
be outputs generated by foo-action
and bar-action
respectively.
- If we build T and request for
foo-outputs
, we expectfoo.out
to be in aNamedSetOfFiles
in the BEP output. This is WAI. - If we build T and request for
foo-outputs
andbar-outputs
, we expectfoo.out
andbar.out
to be in in their ownNamedSetOfFiles
, since they were generated by different actionsfoo-action
andbar-action
. This is WAI. - If we build T and request for
foo-outputs
andbar-outputs
, andbar-action
fails, we expect thatfoo.out
to still be listed in BEP. However, this is not the case andfoo.out
is missing, even with--keep_going
. - Additionally, if there is a target U that depends on T, U’s
foo-outputs
files will also be missing from the BEP.
This has caused issues with IJwB’s Java integration. See this issue for the diagnosis and a repro project. https://github.com/bazelbuild/intellij/issues/1167#issuecomment-533693212
The intuitive BEP state here is that the foo-outputs
files should still be listed, regardless of failing actions requested by other output groups.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 15 (15 by maintainers)
Commits related to this issue
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- Automated rollback of commit 0552bd7cc18f4d302a5e28720497d9f01402d8b2. *** Reason for rollback *** Produces excessive output for large targets/aspects. *** Original change description *** BEP incl... — committed to bazelbuild/bazel by michaeledgar 4 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
- if partial success (compilation issue) we issue another bazel build with info only This is to make sure we have the needed metadata even if build broke Relates to: https://github.com/bazelbuild/intell... — committed to wix-playground/intellij by ittaiz 5 years ago
Sorry for the delay with fixing this particular issue.
The first attempt at a fix was known to misreport some action outputs when building with
--nokeep_going
. My latest attempt addresses that concern. The new approach also handles the case where some (but not all) actions fail while producing outputs for the same output_group.