* 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 commit1ac9824bdf. * 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 commit2d1d67766f. * Add new tests * Removed some tests * Revert "Removed some tests" This reverts commit090398652f. * 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 commit5a927de590. * 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 commit430ff8a526. * Revert "Try to fix OVHoldersTests" This reverts commit32604f0d3e. * 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
147 lines
5.9 KiB
YAML
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
|