diff --git a/scripts/ci/build-release.sh b/scripts/ci/build-release.sh index a1f58b8..572e5d2 100755 --- a/scripts/ci/build-release.sh +++ b/scripts/ci/build-release.sh @@ -110,13 +110,19 @@ make defconfig build_jobs=$(nproc) case $build_host in aarch64|arm64|armv7l|armv8l) - (( build_jobs <= 2 )) || build_jobs=2 + # The x86-64 SDK host tools run through QEMU on ARM. In particular, + # concurrent mbedTLS links can leave partially written libraries behind; + # a later serial retry then packages that corrupted output. Build serially + # from a clean SDK extraction instead. + make -j1 package/openuf/compile V=sc + ;; + *) + if ! make -j"$build_jobs" package/openuf/compile; then + echo "parallel build failed; retrying serially with verbose diagnostics" >&2 + make -j1 package/openuf/compile V=sc + fi ;; esac -if ! make -j"$build_jobs" package/openuf/compile; then - echo "parallel build failed; retrying serially with verbose diagnostics" >&2 - make -j1 package/openuf/compile V=sc -fi mapfile -t packages < <(find bin/packages -type f -name "openuf-${version}-*.apk") if [[ ${#packages[@]} -ne 1 ]]; then