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.outto be in aNamedSetOfFilesin the BEP output. This is WAI. - If we build T and request for
foo-outputsandbar-outputs, we expectfoo.outandbar.outto be in in their ownNamedSetOfFiles, since they were generated by different actionsfoo-actionandbar-action. This is WAI. - If we build T and request for
foo-outputsandbar-outputs, andbar-actionfails, we expect thatfoo.outto still be listed in BEP. However, this is not the case andfoo.outis missing, even with--keep_going. - Additionally, if there is a target U that depends on T, U’s
foo-outputsfiles 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.