You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/07/08 00:44:40 UTC
[GH] (texera/gh-readonly-queue/main/pr-6245-f4289a0d6d2a2f79deef756515f4e2abf4952318): Workflow run "Required Checks" failed!
The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-6245-f4289a0d6d2a2f79deef756515f4e2abf4952318 has failed.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).
Head commit for run:
cdb019c985e0f31051d91866e81f679826ccd1da / Eugene Gu <eu...@outlook.com>
fix(amber): log betterproto stderr as info to avoid false IDE build failures (#6245)
### What changes were proposed in this PR?
Log the `genPythonProto` subprocess's stderr at `info` instead of
`error` (`amber/build.sbt`).
`genPythonProto` runs `bin/python-proto-gen.sh`, which invokes
betterproto as a `protoc` plugin. A `protoc` plugin's stdout is reserved
for the binary `CodeGeneratorResponse` sent back to `protoc`, so
betterproto writes its normal progress (`Writing __init__.py`, `Writing
org/…/__init__.py`, …) to stderr. The task routed that stderr to sbt's
`error` level, so a fully successful generation printed a wall of
`[error]` lines and still ended in `[success]`.
A command-line `sbt compile` is unaffected, but IDEs that delegate the
build to sbt (e.g. IntelliJ IDEA with "Build and run using: sbt") parse
those `[error]` lines as a build failure. This fails the "Build"
before-launch step of the amber-based run configurations —
`TexeraWebApplication`, `ComputingUnitMaster`, `ComputingUnitWorker` —
so those services never launch, while non-amber services (which do not
depend on `genPythonProto`) start normally.
**The change.** `ProcessLogger` takes two callbacks, one for the
subprocess's stdout and one for its stderr; only the stderr callback is
changed, from `log.error` to `log.info`, in the `genPythonProto` task in
`amber/build.sbt`:
```diff
- val procLogger = scala.sys.process.ProcessLogger(line => log.info(line), line => log.error(line))
+ val procLogger = scala.sys.process.ProcessLogger(line => log.info(line), line => log.info(line))
```
Nothing else changes. Real failures are still detected via the script's
exit code on the next line (`if (exit != 0) sys.error(...)`), which is
untouched, so this only stops benign stderr from being labeled as an
error.
### Any related issues, documentation, or discussions?
Follow-up to #5358
Closes: https://github.com/apache/texera/issues/6243
### How was this PR tested?
- Ran `sbt "WorkflowExecutionService/genPythonProto"` with `protoc` and
`protoc-gen-python_betterproto` on `PATH`: the betterproto progress
lines now appear as `[info] Writing …` (previously `[error] Writing …`),
and the task still ends in `[success]`.
- Confirmed failure detection is unchanged: the exit-code check on the
following line still fails the build when the script exits non-zero, so
real failures are still surfaced.
- Confirmed the diff is limited to a single line in `amber/build.sbt`.
- `sbt scalafmtCheckAll` passed.
- `sbt "scalafixAll --check"` passed.
- `sbt test` (backend): all tests unrelated to external infrastructure
passed.
### Was this PR authored or co-authored using generative AI tooling?
Co-authored by Claude Fable 5.
Report URL: https://github.com/apache/texera/actions/runs/28908600056
With regards,
GitHub Actions via GitBox