Release the output reader latch in a finally block so a failing stream
read or output consumer cannot leave ProcessRunner.run blocked on
CountDownLatch.await after the child process has exited.
Destroy the child process when waitFor is interrupted so Docker Compose
commands are not left running as orphans.
Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
See gh-50963
Add /opt/homebrew/bin as an additional macOS fallback location when
starting external processes.
The previous fallback assumed /usr/local/bin only, which can fail on
Apple Silicon Homebrew setups in restricted PATH environments (for
example, IDE or UI-launched processes).
Update CredentialHelperTests to verify both macOS fallback paths are
attempted.
See gh-49721
Signed-off-by: 1233day <1233day@naver.com>
In Spring Boot 3.x with Jackson 2, a null (or missing) value for
a primitive would be mapped to the primitive's default value. In
Jackson 3, the default behavior is to fail instead. This causes a
failure when trying to deserialize Podman's
`docker context ls response` as it is not in the expected format
and has no entry for `current` that's mapped to a boolean.
This commit disables FAIL_ON_NULL_FOR_PRIMITIVES to restore the
behavior that we had with Jackson 2 in Spring Boot 3.x.
Closes gh-47971