Files
openvino/.github/workflows/coverage.yml
T
Ilya Churaev b69190c2c1 Proxy plugin 2.0 (#17416)
* Initial commit for proxy plugin

* Include proxy to openvino library

* Fixed some tests

* Added plugin properties

* Added readme

* Support Compile model for the proxy plugin

* Fixed python

* Remove gmock

* Fixed some tests

* Fixed load plugin tests

* Removed internal PROXY_FALLBACK_PRIORITIES initialization property

* Fixed code style

* Added new tests

* Create architecture.md

* Fixed some proxy tests

* Implement not implemented functions

* Fixed ICore mock

* Remove redundant code

* Added import/export tests

* Fixed hetero import/export tests

* Fixed ICore mock

* Fixed import tests

* Fixed build

* Remove redundant parse config

* Fixed some comments

* Try to fix Windows build

* Fixed incorrect logic

* Small fix in tests

* Fixed python API

* Fixed typo

* Try to fix python

* Switch GPU under proxy

* Fixed GPU name

* Revert GPU plugin under proxy

* Small changes in CMake files

* Temp commit

* Build without proxy

* Revert "Temp commit"

This reverts commit 1ac9824bdf.

* Fixed test linking

* Removed tests from ncc check

* Add option to disable proxy plugin

* Fixed minor comments

* Disable some proxy tests if IR frontend is disabled

* Enable Intel GPU under the proxy

* Fixed typo

* Fixed segfault in tests

* Small fix for case if only GPU is registered

* Fixed code style

* Added remote context tests

* Added proxy tests to CI

* Fixed mock engine

* Test change

* Revert "Test change"

This reverts commit 2d1d67766f.

* Add new tests

* Removed some tests

* Revert "Removed some tests"

This reverts commit 090398652f.

* Revert incorrect logic

* Removed unused variables

* Use original name for the GPU plugin

* Fixed CMake

* Do not show hidden devices

* Try to fix GPU remote context

* Fixed GPU plugin build

* Added interface for proxy remote context

* Remove local properties

* Remove redundant API

* Fixed typo

* Added remote tensors

* Fixed code style

* Fixed some comments

* Unwrap remote tensors before conversion to Blob

* Added cast for legacy API

* Fixed some cldnn tests

* Do not add preprocessing for proxy plugin

* Enabled more tests and wrap tensors in infer request

* Use hardware request inside conversion wrapper

* Fixed hand on cache calculation

* Try to fix some tests

* Support set tensor for remote tensors in proxy plugin

* Revert "Support set tensor for remote tensors in proxy plugin"

This reverts commit 5a927de590.

* Remove redundant friend from compiled model and fix life time for infer
request

* Fixed code style

* Add additional so pointers to the tensor

* Rewrite approach for compile model and tensor

* Removed API from proxy

* Fixed is/as Blob for wrapped Blobs

* Wrap tensor when set tensor to plugin

* Fixed recursive call

* Don't unwrap tensors for AUTO plugin

* Fixed Some Multi tests with remote blob for proxy

* Align context name with tests

* Fixed code style

* Try to fix more tests

* Some minor changes

* Try to fix OVHoldersTests

* Try to save low level SO in high level wrappers

* Revert "Try to save low level SO in high level wrappers"

This reverts commit 430ff8a526.

* Revert "Try to fix OVHoldersTests"

This reverts commit 32604f0d3e.

* Disable some tests

* Fixed DynamicBatchShapeTests

* Fixed caching tests and skip OVHoldersTest

* Small refactoring

* Fixed import model

* Small fix

* Fix typo which causes fails of caching tests

* Disabled AUTO BATCH for proxy device

* Support Export in Auto batch

* Small changes

* Fixed initialization fallback to plugin with proxy name

* Added more values for tests

* Ask all devices and create context if no device id

* Support export in auto batch

* Fixed some comments

* Fixed some comments and removed auto batch

* Fixed some comments

* Fixed auto batch test and some comments

* Fixed build

* Removed proxy plugin class from dev api

* Fixed code style

* Fixed disabled tests
2023-07-07 13:45:20 +04:00

147 lines
5.9 KiB
YAML

name: Code coverage
on: workflow_dispatch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Coverage:
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- { name: "Ubuntu gcc", os: ubuntu-latest-16-cores, cc: "gcc", cxx: "g++" }
steps:
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: '3.10.10'
architecture: 'x64'
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
max-size: 50G
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt --assume-yes update
sudo -E ${{ github.workspace }}/install_build_dependencies.sh
sudo apt --assume-yes install lcov
python3 -m pip install --upgrade pip
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/requirements.txt
# For running Python API tests
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/paddle/tests/requirements.txt
# For running ONNX frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/tensorflow/tests/requirements.txt
# For MO unit tests
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_dev.txt
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores
- name: Build OpenVINO with CMake
uses: ashutoshvarma/action-cmake-build@master
with:
build-dir: ${{ github.workspace }}/build
cc: ${{ matrix.config.cc }}
cxx: ${{ matrix.config.cxx }}
configure-options: >
-GNinja
-DCMAKE_VERBOSE_MAKEFILE=ON
-DENABLE_PYTHON=ON
-DENABLE_ONEDNN_FOR_GPU=ON
-DBUILD_SHARED_LIBS=ON
-DENABLE_TESTS=ON
-DENABLE_OV_ONNX_FRONTEND=ON
-DENABLE_FASTER_BUILD=ON
-DENABLE_STRICT_DEPENDENCIES=OFF
-DENABLE_COVERAGE=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
-DENABLE_SYSTEM_SNAPPY=ON
build-type: Release
parallel: ${{ steps.cpu-cores.outputs.count }}
- name: Install wheel packages
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
- name: Install python wheels
run: python3 -m pip install openvino-dev --find-links=${{ github.workspace }}/install_pkg/tools
- name: List binaries
run: ls -la ${{ github.workspace }}/bin/intel64/Release
- name: Install OpenVINO
run: cmake -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
- name: Run OV core unit tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_core_unit_tests
- name: Run OV Proxy plugin tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_proxy_plugin_tests
- name: Run IR frontend tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_ir_frontend_tests # --gtest_print_time=1 --gtest_output=xml:${{ github.workspace }}/testdata/TEST-IRFrontend.xml
- name: Run ONNX frontend tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_onnx_frontend_tests --gtest_filter=-*IE_GPU*
#- name: Run Paddle frontend unit tests
# run: ${{ github.workspace }}/bin/intel64/Release/paddle_tests --gtest_filter=-*IE_GPU*
- name: Run TensorFlow frontend unit tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_tensorflow_frontend_tests --gtest_filter=-*IE_GPU*
- name: Build coverage with CMake
uses: ashutoshvarma/action-cmake-build@master
with:
build-dir: ${{ github.workspace }}/coverage
cc: ${{ matrix.config.cc }}
cxx: ${{ matrix.config.cxx }}
target: ov_coverage
configure-options: >
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
parallel: ${{ steps.cpu-cores.outputs.count }}
- name: Print info
run: |
ls -laR
pwd
- name: Generate raport
run: |
lcov --capture --directory ${{ github.workspace }}/. --output-file coverage.info
genhtml coverage.info --output-directory coverage-report
- name: Collect coverage
uses: codecov/codecov-action@v3
with:
verbose: true