@@ -293,10 +293,10 @@ jobs:
293293 cmake --install ${BUILD_DIR} --config ${{ env.BUILD_TYPE }} --prefix ${INSTALL_DIR} --component cpu
294294 cmake --install ${BUILD_DIR} --config ${{ env.BUILD_TYPE }} --prefix ${INSTALL_DIR} --component template
295295
296- # If tests were installed under tests/, move CPU test binaries to expected path
296+ # mv (not cp) so CPU test binaries are not duplicated into both tests/ and bin/ in the artifact
297297 if [ -d "${INSTALL_TEST_DIR}/tests" ]; then
298298 echo "Moving tests from ${INSTALL_TEST_DIR}/tests/ to ${INSTALL_TEST_DIR}/bin/intel64/Release/"
299- find ${INSTALL_TEST_DIR}/tests -name "*cpu*test*" -type f -exec cp {} ${INSTALL_TEST_DIR}/bin/intel64/Release/ \;
299+ find ${INSTALL_TEST_DIR}/tests -name "*cpu*test*" -type f -exec mv {} ${INSTALL_TEST_DIR}/bin/intel64/Release/ \;
300300 # Copy Template plugin library from tests installation into runtime package so tests can load it
301301 find ${INSTALL_TEST_DIR}/tests -name "libopenvino_template_plugin*.so*" -type f -exec cp {} ${INSTALL_DIR}/runtime/lib/intel64/ \; 2>/dev/null || true
302302 fi
@@ -305,6 +305,26 @@ jobs:
305305 find ${TBB_INSTALL}/lib -name "*.so*" -type f -exec cp {} ${INSTALL_DIR}/lib/ \; 2>/dev/null || echo "No .so files in TBB_INSTALL/lib"
306306 cp "${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/${{ env.ANDROID_ABI_CONFIG }}-linux-android/libc++_shared.so" ${INSTALL_DIR}/lib/ || echo "libc++_shared.so not found"
307307
308+ # Release build keeps -g (NDK default); strip unused debug symbols to shrink every download
309+ - name : Strip debug symbols from test binaries and runtime libraries
310+ run : |
311+ STRIP="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip"
312+ if [ ! -x "$STRIP" ]; then
313+ STRIP="$(command -v llvm-strip || true)"
314+ fi
315+ if [ -z "$STRIP" ]; then
316+ echo "Error: llvm-strip not found (NDK path or PATH)"; exit 1
317+ fi
318+ echo "Using strip: $STRIP"
319+ echo "Size before strip:"; du -shc ${INSTALL_TEST_DIR} ${INSTALL_DIR}
320+ find ${INSTALL_TEST_DIR} -type f \
321+ \( -name "ov_cpu_func_tests" -o -name "ov_cpu_unit_tests" \) \
322+ -exec "$STRIP" --strip-all {} +
323+ # --strip-unneeded keeps the dynamic symbol table needed to load .so's
324+ find ${INSTALL_DIR} -type f -name "*.so*" \
325+ -exec "$STRIP" --strip-unneeded {} +
326+ echo "Size after strip:"; du -shc ${INSTALL_TEST_DIR} ${INSTALL_DIR}
327+
308328 - name : Pack openvino_package
309329 run : tar -cvf - * | pigz > ${BUILD_DIR}/openvino_package.tar.gz
310330 working-directory : ${{ env.INSTALL_DIR }}
@@ -313,11 +333,19 @@ jobs:
313333 run : tar -cvf - * | pigz > ${BUILD_DIR}/openvino_tests.tar.gz
314334 working-directory : ${{ env.INSTALL_TEST_DIR }}
315335
316- - name : Upload CPU test binaries
336+ # One artifact per test binary so each emulator job downloads only the binary it runs
337+ - name : Upload CPU functional test binary
338+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
339+ with :
340+ name : ov_cpu_func_tests_android_${{ matrix.arch }}
341+ path : ${{ env.INSTALL_TEST_DIR }}/bin/intel64/Release/ov_cpu_func_tests
342+ if-no-files-found : ' error'
343+
344+ - name : Upload CPU unit test binary
317345 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
318346 with :
319- name : ov_cpu_tests_android_ ${{ matrix.arch }}
320- path : ${{ env.INSTALL_TEST_DIR }}/
347+ name : ov_cpu_unit_tests_android_ ${{ matrix.arch }}
348+ path : ${{ env.INSTALL_TEST_DIR }}/bin/intel64/Release/ov_cpu_unit_tests
321349 if-no-files-found : ' error'
322350
323351 - name : Upload OpenVINO runtime package (Android)
@@ -360,11 +388,11 @@ jobs:
360388 uses : ababushk/checkout@dd591a6a2ac25618db4eda86e7e0d938f88cf01b # cherry_pick_retries
361389 timeout-minutes : 15
362390
363- - name : Download CPU test binaries
391+ - name : Download CPU unit test binary
364392 uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
365393 with :
366- name : ov_cpu_tests_android_x64
367- path : ${{ env.INSTALL_TEST_DIR }}
394+ name : ov_cpu_unit_tests_android_x64
395+ path : ${{ env.INSTALL_TEST_DIR }}/bin/intel64/Release
368396
369397 - name : Download OpenVINO runtime package (Android)
370398 uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
@@ -454,11 +482,11 @@ jobs:
454482 uses : ababushk/checkout@dd591a6a2ac25618db4eda86e7e0d938f88cf01b # cherry_pick_retries
455483 timeout-minutes : 15
456484
457- - name : Download CPU test binaries
485+ - name : Download CPU functional test binary
458486 uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
459487 with :
460- name : ov_cpu_tests_android_x64
461- path : ${{ env.INSTALL_TEST_DIR }}
488+ name : ov_cpu_func_tests_android_x64
489+ path : ${{ env.INSTALL_TEST_DIR }}/bin/intel64/Release
462490
463491 - name : Download OpenVINO runtime package (Android)
464492 uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
0 commit comments