Uh oh!
There was an error while loading. Please reload this page.
ci: stop bazel truncating a failing action's output - #4524
Merged
lanluo-nvidia merged 1 commit intoAug 19, 2026
Conversation
shoumikhinforce-pushed
the
ci-bazel-full-error-output
branch
from
August 19, 2026 14:46
fcf72da to
8ab7f17CompareWhen the ExecuTorch runtime wheel build fails, the log contains no compiler or linker diagnostics at all. Bazel caps a failing action's output and prints only its size: stdout (.../stdout-8230) 1498425 exceeds maximum size of --experimental_ui_max_stdouterr_bytes=1048576 bytes; skipping So a failing build reports that it failed and nothing about why. setup.py already forwards a BAZEL_ARGS environment variable into the bazel invocation, so the limit can be raised without touching any build code. On main that setup.py-driven build is the only bazel invocation in this workflow, so the one export covers it. Measured on a build that failed after this was applied: the log grew from 7886 to 15915 lines and the actual linker error appeared for the first time. The pinned bazel (8.4.2, from .bazelversion) accepts the option; there is no unrecognized option error in that run, which matters because bazel rejects unknown flags outright.
shoumikhinforce-pushed
the
ci-bazel-full-error-output
branch
from
August 19, 2026 15:32
8ab7f17 to
4c83c72CompareUh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
When the ExecuTorch runtime wheel build fails, the log contains no compiler or
linker diagnostics at all. Bazel caps a failing action's output and prints only its
size:
So a failing build tells you that it failed and nothing about why. Diagnosing it
means guessing, or reproducing the release image locally.
The change
One line.
setup.pyalready forwards aBAZEL_ARGSenvironment variable into thebazel invocation:
so the limit can be raised without touching any build code:
On main, that
setup.py-driven build is the only bazel invocation in this workflow,so one export covers it.
Testing
Measured on a build that failed with this applied: the log grew from 7886 to 15915
lines, and the actual linker error appeared for the first time.
That error is a separate problem and is not addressed here. The point of this change
is that it is now visible instead of hidden.
Two things worth confirming explicitly, since an experimental flag is involved:
.bazelversionis 8.4.2 and the run above shows nounrecognized option error, which matters because bazel rejects unknown flags
outright rather than ignoring them. If a future bazel bump removes the flag, this
line would need updating with it.
suppressed output.
What this does not show on its own
On main the build dies during CMake configure, and that failure is small, so it is
printed either way. The visibility this adds only matters once builds get far enough
to fail with large output, which is what #4523 does. The measurement above therefore
comes from a branch carrying both changes. This is still worth landing separately: it
is independent of that fix and useful for any future large failure.
The one red check,
gate, is unrelated. It is flaky on main, which currently showsthree failures and one success across four runs of it at the same commit.