[GHA] Removed dependency on git repo in python tests (#20390)
* Removed repo deps in py tests * fixed typo * changed test cmd * add test_utils to pythonpath * set test_utils to LD_LIBRARY_PATH * changed path * changed path * source python site-packages * fixed LD_LIBRARY_PATH * print pip dir * changed python install path * source all openvino dir * isolate test_utils * system deps * reordered deps * dep conflict * tests reorder * changed test_utils path * cpack test dir * rebase fix * fixed env * frontend tests fix * removed already installed reqs * debug * debug 2 * added python action path * test * reset 3rdparties * set pip install path globally * reset 3rdparties * removed parallel code * moved doc snippets * switched back 4-core runner * removed global unused vars * removed unused requirements.txt * removed unused requirements * test * Revert "test" This reverts commit bdf22d22fd6ec5d488930bc362bdb0741c5bea76.
This commit is contained in:
parent
214e08599b
commit
49c5099f5e
236
.github/workflows/linux.yml
vendored
236
.github/workflows/linux.yml
vendored
@ -105,6 +105,13 @@ jobs:
|
||||
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
||||
echo "Using pip version: ${PIP_VER}"
|
||||
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
||||
- name: Get pip cache info
|
||||
run: |
|
||||
echo "Cache size: "
|
||||
du -h -d2 ${PIP_CACHE_DIR}
|
||||
echo "Cache info: "
|
||||
python -m pip cache info
|
||||
continue-on-error: true
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
@ -865,38 +872,9 @@ jobs:
|
||||
LAYER_TESTS_INSTALL_DIR: /__w/openvino/openvino/install/tests/layer_tests
|
||||
|
||||
steps:
|
||||
- name: Install git
|
||||
run: |
|
||||
apt update
|
||||
apt install --assume-yes --no-install-recommends git ca-certificates
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
|
||||
#
|
||||
# Initialize OpenVINO
|
||||
#
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Setup pip cache dir
|
||||
run: |
|
||||
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
||||
echo "Using pip version: ${PIP_VER}"
|
||||
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Python API tests dependencies
|
||||
run: |
|
||||
# For torchvision to OpenVINO preprocessing converter
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/openvino/preprocess/torchvision/requirements.txt
|
||||
|
||||
# TODO: replace with Python API tests requirements
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements_dev.txt
|
||||
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
@ -919,6 +897,20 @@ jobs:
|
||||
tar -xzf openvino_tests.tar.gz -C ${INSTALL_DIR}
|
||||
popd
|
||||
|
||||
- name: Install 'actions/setup-python@v4' dependencies
|
||||
run: apt-get update && apt-get install -y libssl1.1 ca-certificates
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
env:
|
||||
PIP_CACHE_DIR: ${{ env.PIP_CACHE_PATH }}
|
||||
- name: Setup pip cache dir
|
||||
run: |
|
||||
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
||||
echo "Using pip version: ${PIP_VER}"
|
||||
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
||||
echo "PIP_INSTALL_PATH=${Python_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages" >> $GITHUB_ENV
|
||||
|
||||
- name: Install OpenVINO Python wheels
|
||||
run: |
|
||||
# Install the core OV wheel
|
||||
@ -930,6 +922,14 @@ jobs:
|
||||
python3 -m pip install $ov_dev_wheel_name[mxnet,caffe,kaldi,onnx,tensorflow2,pytorch]
|
||||
popd
|
||||
|
||||
- name: Install Python API tests dependencies
|
||||
run: |
|
||||
# For torchvision to OpenVINO preprocessing converter
|
||||
python3 -m pip install -r ${INSTALL_TEST_DIR}/python/preprocess/torchvision/requirements.txt
|
||||
|
||||
# TODO: replace with Python API tests requirements
|
||||
python3 -m pip install -r ${INSTALL_TEST_DIR}/mo/requirements_dev.txt
|
||||
|
||||
#
|
||||
# Tests
|
||||
#
|
||||
@ -945,19 +945,10 @@ jobs:
|
||||
run: |
|
||||
# for 'template' extension
|
||||
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
||||
|
||||
python3 -m pytest -sv ${INSTALL_TEST_DIR}/pyopenvino \
|
||||
--junitxml=${INSTALL_TEST_DIR}/TEST-Pyngraph.xml \
|
||||
--ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_utils/test_utils.py
|
||||
|
||||
- name: Docs Python snippets
|
||||
run: |
|
||||
# to find 'snippets' module in docs
|
||||
export PYTHONPATH=${OPENVINO_REPO}/docs/:$PYTHONPATH
|
||||
# for 'template' extension
|
||||
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
||||
python3 ${OPENVINO_REPO}/docs/snippets/main.py
|
||||
|
||||
- name: Model Optimizer unit tests
|
||||
run: |
|
||||
# required for MxNet
|
||||
@ -966,87 +957,26 @@ jobs:
|
||||
python3 -m pytest -s ${INSTALL_TEST_DIR}/mo/unit_tests \
|
||||
--junitxml=${INSTALL_TEST_DIR}/TEST-ModelOptimizer.xml
|
||||
|
||||
- name: PyTorch Layer Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: ONNX Layer Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# requires 'unit_tests' from 'tools/mo'
|
||||
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${INSTALL_TEST_DIR}/TEST-onnx.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - TF FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# requires 'unit_tests' from 'tools/mo'
|
||||
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - TF FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# requires 'unit_tests' from 'tools/mo'
|
||||
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: JAX Layer Tests - TF FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - Legacy FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${INSTALL_TEST_DIR}/TEST-tf_Roll.xml
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - Legacy FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/test_tf2_keras_activation.py \
|
||||
--ir_version=11 --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_Activation.xml -k "sigmoid"
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow Lite Layer Tests - TFL FE
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_lite_tests/ --junitxml=${INSTALL_TEST_DIR}/TEST-tfl_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Python ONNX operators tests
|
||||
run: |
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - ONNX Model Zoo tests are run separately
|
||||
python3 -m pytest -sv ${OPENVINO_REPO}/src/frontends/onnx/tests -k 'not cuda' \
|
||||
python3 -m pytest -sv ${INSTALL_TEST_DIR}/onnx -k 'not cuda' \
|
||||
--junitxml=${INSTALL_TEST_DIR}/TEST-onnx_frontend.xml \
|
||||
--ignore=${OPENVINO_REPO}/src/frontends/onnx/tests/test_python/test_zoo_models.py
|
||||
--ignore=${INSTALL_TEST_DIR}/onnx/test_python/test_zoo_models.py \
|
||||
|
||||
- name: OVC unit tests
|
||||
run: python3 -m pytest -s ${INSTALL_TEST_DIR}/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml
|
||||
|
||||
- name: Install Python Layer tests dependencies
|
||||
run: |
|
||||
# layer test requirements
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
|
||||
- name: MO Python API Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
source ${INSTALL_DIR}/setupvars.sh
|
||||
bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y
|
||||
|
||||
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
|
||||
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
||||
export PYTHONPATH=${INSTALL_TEST_DIR}/python
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/mo_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_mo_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
@ -1054,11 +984,9 @@ jobs:
|
||||
|
||||
- name: OVC Python API Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
source ${INSTALL_DIR}/setupvars.sh
|
||||
bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y
|
||||
|
||||
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
|
||||
export PYTHONPATH=${INSTALL_TEST_DIR}/python
|
||||
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/ovc_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_ovc_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
@ -1066,15 +994,77 @@ jobs:
|
||||
|
||||
- name: Python Frontend tests
|
||||
run: |
|
||||
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
||||
# to allow 'libtest_builtin_extensions.so' to find 'libopenvino_onnx_frontend.so'
|
||||
source ${INSTALL_DIR}/setupvars.sh
|
||||
|
||||
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/py_frontend_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_py_fontend.xml
|
||||
|
||||
# TODO: install to 'tests' component via cpack
|
||||
- name: OVC unit tests
|
||||
run: python3 -m pytest -s ${OPENVINO_REPO}/tools/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml
|
||||
- name: PyTorch Layer Tests
|
||||
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: ONNX Layer Tests
|
||||
run: |
|
||||
# requires 'unit_tests' from 'tools/mo'
|
||||
export PYTHONPATH=${INSTALL_TEST_DIR}/mo:$PYTHONPATH
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${INSTALL_TEST_DIR}/TEST-onnx.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - TF FE
|
||||
run: |
|
||||
# requires 'unit_tests' from 'mo'
|
||||
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - TF FE
|
||||
run: |
|
||||
# requires 'unit_tests' from 'mo'
|
||||
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
|
||||
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: JAX Layer Tests - TF FE
|
||||
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - Legacy FE
|
||||
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${INSTALL_TEST_DIR}/TEST-tf_Roll.xml
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - Legacy FE
|
||||
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 -k "sigmoid" --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_Activation.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow Lite Layer Tests - TFL FE
|
||||
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_lite_tests/ --junitxml=${INSTALL_TEST_DIR}/TEST-tfl_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Clone API snippets
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: openvino/docs/snippets
|
||||
path: ${{ env.OPENVINO_REPO }}
|
||||
submodules: 'false'
|
||||
|
||||
- name: Docs Python snippets
|
||||
run: |
|
||||
# to find 'snippets' module in docs
|
||||
export PYTHONPATH=${OPENVINO_REPO}/docs
|
||||
# for 'template' extension
|
||||
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
||||
python3 ${OPENVINO_REPO}/docs/snippets/main.py
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
|
@ -403,6 +403,14 @@ endif()
|
||||
if(ENABLE_TESTS)
|
||||
add_subdirectory(tests/mock/mock_py_frontend)
|
||||
add_subdirectory(tests/mock/pyngraph_fe_mock_api)
|
||||
install(FILES constraints.txt
|
||||
DESTINATION tests/bindings/python
|
||||
COMPONENT tests
|
||||
EXCLUDE_FROM_ALL)
|
||||
install(FILES src/openvino/preprocess/torchvision/requirements.txt
|
||||
DESTINATION tests/python/preprocess/torchvision
|
||||
COMPONENT tests
|
||||
EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
if(OpenVINODeveloperPackage_FOUND)
|
||||
|
@ -50,10 +50,10 @@ ov_add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
RUNTIME DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
|
||||
COMPONENT tests EXCLUDE_FROM_ALL
|
||||
LIBRARY DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
|
||||
LIBRARY DESTINATION tests/${OV_CPACK_PYTHONDIR}/openvino/test_utils
|
||||
COMPONENT tests EXCLUDE_FROM_ALL)
|
||||
|
||||
install(PROGRAMS ${OpenVINOPython_SOURCE_DIR}/src/openvino/test_utils/__init__.py
|
||||
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
|
||||
DESTINATION tests/${OV_CPACK_PYTHONDIR}/openvino/test_utils
|
||||
COMPONENT tests
|
||||
EXCLUDE_FROM_ALL)
|
||||
|
@ -165,6 +165,14 @@ target_include_directories(ov_onnx_frontend_tests PRIVATE
|
||||
install(TARGETS ov_onnx_frontend_tests
|
||||
RUNTIME DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL)
|
||||
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DESTINATION tests/onnx
|
||||
COMPONENT tests EXCLUDE_FROM_ALL
|
||||
FILES_MATCHING
|
||||
PATTERN "*.py"
|
||||
PATTERN "*.onnx"
|
||||
PATTERN "*.data")
|
||||
|
||||
add_custom_command(TARGET ov_onnx_frontend_tests POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/unit_test.manifest"
|
||||
"${TEST_MODEL_ZOO_OUTPUT_DIR}/onnx/unit_test.manifest"
|
||||
|
@ -35,6 +35,16 @@ install(DIRECTORY ${OpenVINOConverter_SOURCE_DIR}/openvino
|
||||
${OV_CPACK_COMP_OVC_EXCLUDE_ALL}
|
||||
USE_SOURCE_PERMISSIONS)
|
||||
|
||||
#
|
||||
# Tests
|
||||
#
|
||||
if(ENABLE_TESTS)
|
||||
install(DIRECTORY unit_tests
|
||||
DESTINATION tests/ovc
|
||||
COMPONENT tests
|
||||
EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Cpack
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user