The GitHub Actions job "CI - Groovy Joint Validation Build" on grails-core.git/fix/forge-command-spec-stderr has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: 2ecd9284bb42652f4cb51310e8926e09484a6ec9 / James Daugherty <[email protected]> Read the generated build's stderr in the Forge command specs Gradle writes a build's failure report to stderr, and CommandSpec drained only stdout. A generated build that failed while configuring had nothing to show on stdout, its report went to a pipe nobody read, and once that report outgrew the pipe buffer (64 KiB on Linux, which a -S trace exceeds easily) the Gradle client blocked on the write and never exited. The spec then waited out its whole 600s budget and reported the build as still running, with two lines of daemon preamble as the only output, and the reason the build failed was lost with the process. Merge stderr into the stream the consumer thread drains. A failed build now exits at once, and its report is part of the assertion message. CommandSpecBuildFailureSpec covers the case with a generated project whose build fails while configuring with a report larger than the pipe buffer: against the old harness it times out after 600s exactly as CI did, and now the build is reported as exited with code 1 with the failure in the message. Seen on the "Build Grails Forge (17)" job of pull request #16690, where CreateControllerCommandSpec."test app with controller" timed out this way. Report URL: https://github.com/apache/grails-core/actions/runs/39501629731 With regards, GitHub Actions via GitBox
