[ci] clone ot-br-posix submodules recursively in CI/CD (#13130)

When cloning the ot-br-posix repository to run the Docker-in-Docker
integration tests, the clone was shallow and did not recursively
check out nested submodules (such as cJSON and cpp-httplib). This led
to build failures inside the Docker build container since libcjson
is not pre-installed on the base build image.

This commit resolves the issue by:
1. Appending the `--recurse-submodules` flag to the git-tool clone
   calls in `otbr-posix-dind.yml` and `script/test`.
2. Updating `script/git-tool`'s destination directory parsing to
   robustly handle multi-line output from recursive submodule
   checkouts. The new pattern extracts the path exclusively from
   the first line using `sed` to prevent SIGPIPE or parsing errors.
This commit is contained in:
Jonathan Hui
2026-05-21 15:34:05 -07:00
committed by GitHub
parent fa5bb3b94c
commit 4c9791cb9b
3 changed files with 4 additions and 3 deletions
+1 -1
View File
@@ -395,7 +395,7 @@ do_build_otbr_docker()
(
if [[ -z ${LOCAL_OTBR_DIR} ]]; then
./script/git-tool clone https://github.com/openthread/ot-br-posix.git --depth 1 "${otbrdir}"
./script/git-tool clone https://github.com/openthread/ot-br-posix.git --depth 1 --recurse-submodules --shallow-submodules "${otbrdir}"
else
rsync -r \
--exclude=third_party/openthread/repo \