diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d110306684a..f7d225d0758 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -221,6 +221,7 @@ jobs: if-no-files-found: 'error' Debian_Packages: + name: Debian Packages needs: Build defaults: run: @@ -468,6 +469,7 @@ jobs: if-no-files-found: 'error' ONNX_Runtime: + name: ONNX Runtime Integration needs: Build defaults: run: @@ -595,6 +597,7 @@ jobs: working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo CXX_Unit_Tests: + name: C++ unit tests needs: Build defaults: run: @@ -709,6 +712,18 @@ jobs: ${INSTALL_TEST_DIR}/ov_transformations_tests --gtest_print_time=1 \ --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-Transformations.xml + - name: Legacy Transformations func tests + run: | + source ${INSTALL_DIR}/setupvars.sh + ${INSTALL_TEST_DIR}/ov_legacy_transformations_tests --gtest_print_time=1 \ + --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-LegacyTransformations.xml + + - name: Inference Engine 1.0 unit tests + run: | + source ${INSTALL_DIR}/setupvars.sh + ${INSTALL_TEST_DIR}/InferenceEngineUnitTests --gtest_print_time=1 \ + --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-InferenceEngineUnitTests.xml + - name: Common test utils tests run: | source ${INSTALL_DIR}/setupvars.sh @@ -758,6 +773,11 @@ jobs: ${INSTALL_TEST_DIR}/ov_capi_test --gtest_print_time=1 \ --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OpenVINOCAPITests.xml + - name: AutoBatch unit tests + run: | + source ${INSTALL_DIR}/setupvars.sh + ${INSTALL_TEST_DIR}/ov_auto_batch_unit_tests --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_auto_batch_unit_tests.xml + - name: AutoBatch func tests run: | source ${INSTALL_DIR}/setupvars.sh @@ -787,6 +807,7 @@ jobs: if-no-files-found: 'error' Python_Unit_Tests: + name: Python unit tests needs: Build defaults: run: @@ -864,25 +885,21 @@ jobs: # Tests # - - name: nGraph and IE Python Bindings Tests + - name: Python API 1.0 Tests run: | python3 -m pytest -s ${INSTALL_TEST_DIR}/pyngraph \ --junitxml=${INSTALL_TEST_DIR}/TEST-Pyngraph.xml \ - --ignore=${INSTALL_TEST_DIR}/pyngraph/tests/test_onnx/test_zoo_models.py \ - --ignore=${INSTALL_TEST_DIR}/pyngraph/tests/test_onnx/test_backend.py + --ignore=${INSTALL_TEST_DIR}/pyngraph/tests_compatibility/test_onnx/test_zoo_models.py \ + --ignore=${INSTALL_TEST_DIR}/pyngraph/tests_compatibility/test_onnx/test_backend.py - name: Python API 2.0 Tests run: | - # For python imports to import 'pybind_mock_frontend' - export PYTHONPATH=${INSTALL_TEST_DIR}:$PYTHONPATH # 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 \ - --ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_onnx/test_zoo_models.py \ - --ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_onnx/test_backend.py + --ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_utils/test_utils.py - name: Docs Python snippets run: | @@ -894,7 +911,6 @@ jobs: - name: Model Optimizer unit tests run: | - export PYTHONPATH=${INSTALL_TEST_DIR}:$PYTHONPATH # required for MxNet apt-get install -y libgomp1 libquadmath0 @@ -904,8 +920,6 @@ jobs: - name: PyTorch Layer Tests run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml env: TEST_DEVICE: CPU @@ -914,8 +928,8 @@ jobs: - name: TensorFlow 1 Layer Tests - TF FE run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - + # 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 @@ -924,8 +938,8 @@ jobs: - name: TensorFlow 2 Layer Tests - TF FE run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - + # 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 @@ -934,8 +948,6 @@ jobs: - name: JAX Layer Tests - TF FE run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml env: TEST_DEVICE: CPU @@ -943,15 +955,11 @@ jobs: - name: TensorFlow 1 Layer Tests - Legacy FE run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - 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 - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - 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: @@ -961,17 +969,22 @@ jobs: - name: TensorFlow Lite Layer Tests - TFL FE run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH - 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' \ + --junitxml=${INSTALL_TEST_DIR}/TEST-onnx_frontend.xml \ + --ignore=${OPENVINO_REPO}/src/frontends/onnx/tests/test_python/test_zoo_models.py \ + --ignore=${OPENVINO_REPO}/src/frontends/onnx/tests/test_python/test_backend.py + - name: MO Python API Tests run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH # TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '/python/openvino' source ${INSTALL_DIR}/setupvars.sh bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y @@ -981,21 +994,29 @@ jobs: TEST_DEVICE: CPU TEST_PRECISION: FP16 + - 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 '/python/openvino' + source ${INSTALL_DIR}/setupvars.sh + bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y + + python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/ovc_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_ovc_convert.xml + env: + TEST_DEVICE: CPU + TEST_PRECISION: FP16 + - name: Python Frontend tests run: | python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt - export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:${LAYER_TESTS_INSTALL_DIR}:$PYTHONPATH # to allow 'libtest_builtin_extensions.so' to find 'libopenvino_onnx_frontend.so' source ${INSTALL_DIR}/setupvars.sh 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: | - # For python imports to import 'pybind_mock_frontend' - export PYTHONPATH=${INSTALL_TEST_DIR}:$PYTHONPATH - - python3 -m pytest -s ${OPENVINO_REPO}/tools/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml + run: python3 -m pytest -s ${OPENVINO_REPO}/tools/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml - name: Upload Test Results uses: actions/upload-artifact@v3 @@ -1008,6 +1029,7 @@ jobs: if-no-files-found: 'error' CPU_Functional_Tests: + name: CPU functional tests needs: Build defaults: run: @@ -1093,6 +1115,7 @@ jobs: if-no-files-found: 'error' TensorFlow_Hub_Models_Tests: + name: TensorFlow Hub Models tests needs: Build defaults: run: @@ -1172,6 +1195,7 @@ jobs: if-no-files-found: 'error' PyTorch_Models_Tests: + name: PyTorch Models tests needs: Build defaults: run: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e8b539c7a1d..2dd4b218a1e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -332,17 +332,17 @@ jobs: run: | python3 -m pip install openvino-dev --force-reinstall --find-links=${{ env.INSTALL_DIR }}\tools - - name: nGraph and IE Python Bindings Tests + - name: Python API 1.0 Tests shell: cmd run: | set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH% - call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_zoo_models.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_backend.py + call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests_compatibility/test_onnx/test_zoo_models.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests_compatibility/test_onnx/test_backend.py - name: Python API 2.0 Tests shell: cmd run: | set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH% - call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_zoo_models.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_backend.py + call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py - name: Model Optimizer UT shell: cmd diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index 680e2027a49..9b49c9eb8e2 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -26,6 +26,8 @@ if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then apt update apt-get install -y --no-install-recommends \ + `# for python3-pip` \ + ca-certificates \ file \ `# build tools` \ build-essential \