bazelbuild / bazelbuild/bazel

Provide mechanism to stream action output

Open
#7,213 10 comments 23 reactions 0 assignees View on GitHub
P3 team-Local-Exec type: feature request
Dominant language
Java
Stars
25.8k
Forks
4.6k
Avg merge
2d 20h
Merged PRs (30d)
72

Description

### Description of the feature request:

We currently cannot stream a build rule output to the terminal. We could replicate the analogous test flag `--test_output=streamed` in the build execution phase.

In that case, this would probably mean we would have to run the build actions sequentially in order to prevent any race condition on the terminal output.

### Feature requests: what underlying problem are you trying to solve with this feature?

Some building tools [1] are not guaranteed to terminate. For such tools, having access to stdout/stderr is the only way we get to:

1. Realize the build won't terminate.
2. Investigate on what makes the build looping.

[1] Tools such as GHC, the Haskell compiler. See https://github.com/tweag/rules_haskell/issues/603

Contributor guide

Open the contributing guide

Research direction

Start by examining the build execution phase and the analogous test flag, --test_output=streamed, mentioned in the issue. Define the behavior needed for streaming build action stdout/stderr, including how sequential execution prevents terminal-output races, and verify it with a non-terminating tool such as GHC.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.