The GitHub Actions job "CI" on grails-core.git/fix/15819-response-renderer-overloads has failed. Run started by GitHub user ruthst00 (triggered by jamesfredley).
Head commit for run: 0d0ac73e33dd1e2241c8ee228a43ce32bc325861 / ruthes00 <[email protected]> ## Fix for Issue #15819: ResponseRenderer does not commit the HTTP response **Root Cause:** Several `render()` branches in `ResponseRenderer.groovy` set `webRequest.renderView = false` and wrote content to the response, but never called `response.flushBuffer()`. This left the response uncommitted, causing Spring MVC's `DispatcherServlet` to attempt default view resolution after the action returned, resulting in a `ServletException: Could not resolve view with name '<actionName>'`. **Fix:** Added `response.flushBuffer()` after content is written in every render branch that sets `renderView = false`: 1. `render(Object)` — after writing `object.inspect()` 2. `render(CharSequence)` — after writing and flushing the writer 3. `render(Map, Writable)` — after `renderWritable()` 4. `render(Map)` with `text:` (Writable) — after `renderWritable()` 5. `render(Map)` with `template:` — after all template rendering paths 6. `render(Map)` with `file:` — after `SpringIOUtils.copy()` 7. `renderMarkupInternal()` — after `renderWritable()` (covers `render(Closure)` and `render(Map, Closure)` markup path) 8. `renderJsonInternal()` — after `jsonBuilder.call()` (covers `render(Map, Closure)` JSON path) The `render(Map)` with `status:` branch already had `response.flushBuffer()` — this fix brings all other content-writing branches into parity. **Tests:** Added 10 new Spock feature methods to `ResponseRendererSpec` verifying that `response.isCommitted()` is `true` after each render variant. All 17 tests in the spec pass, the full `grails-controllers` test suite passes, and all violation reports (Checkstyle, CodeNarc, PMD, Repository Conventions) are clean. Report URL: https://github.com/apache/grails-core/actions/runs/37225465288 With regards, GitHub Actions via GitBox
