[DO NOT MERGE] Testing new github runner for code coverage #8
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Code coverage (new runner) | |
on: | |
push: | |
branches: | |
- master | |
- releases/* | |
paths-ignore: | |
- docs/ | |
- /**/docs/* | |
- /**/*.md | |
- README.md | |
- /**/layer_tests_summary/** | |
pull_request: | |
branches: | |
- master | |
- releases/* | |
paths-ignore: | |
- docs/ | |
- /**/docs/* | |
- /**/*.md | |
- README.md | |
- /**/layer_tests_summary/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Coverage: | |
runs-on: | |
group: org/openvino_runners | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { name: "Code coverage", cc: "gcc", cxx: "g++", py_ver: "3.10.10" } | |
steps: | |
- name: Clone OpenVINO | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.config.py_ver }} | |
architecture: 'x64' | |
- name: Setup ccache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
max-size: 50G | |
- 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 # --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ github.workspace }}/testdata/TEST-NGraphUT.xml | |
- 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 |