Debian packages on GHA (#20033)

* Refactored Linix GHA pipeline

* Move ONNX tests to Unit

* Install tests together with openvino

* Added checks for GNA usage in docs python snippets

* Install openssl for working pip

* Disabled onnx_dyn_shapes_expand_1_dyn_shape ONNX test

* exclude dyn shapes from onnx

* Migrated samples tests

* Fixed ONNX tests

* caches for PT tests dependencies

* Build Contrib separately from main OpenVINO

* More fixes

* Added python install for samples stage

* Installed manifests for ONNX FE tests

* Try to avoid libgl1 dependency in tests

* Clean-up

* Fixed issue with manifests in ONNX tests

* Try to build debian packages in GHA

* Fixed debian packages build for multi-config generators
This commit is contained in:
Ilya Lavrenov authored and GitHub committed 2023-09-26 01:54:41 +04:00
1 parent d6d6888d7a
commit 5616c26d19
6 files changed
+122 -38

No files matched your search

+86 -19
View File
@@ -24,7 +24,7 @@ on:
- master
concurrency:
group: ${{ github.ref || github.run_id }}-linux
group: ${{ github.head_ref || github.run_id }}-linux
cancel-in-progress: true
jobs:
@@ -96,7 +96,6 @@ jobs:
run: |
# For Python API: build and wheel packaging
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/requirements.txt
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running ONNX frontend unit tests
@@ -130,14 +129,12 @@ jobs:
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_OPENCL=ON \
-DENABLE_SYSTEM_PUGIXML=ON \
-DBUILD_nvidia_plugin=OFF \
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
-DOPENVINO_EXTRA_MODULES=${OPENVINO_CONTRIB_REPO}/modules \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \
-DCPACK_GENERATOR=TGZ \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
-DCMAKE_MINIMUM_REQUIRED_VERSION=3.20 \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
@@ -147,19 +144,6 @@ jobs:
- name: Cmake build - OpenVINO
run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
- name: Cmake & Build - OpenVINO Contrib
if: ${{ 'false' }}
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DBUILD_nvidia_plugin=OFF \
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
-DOpenVINODeveloperPackage_DIR=${BUILD_DIR} \
-S ${OPENVINO_CONTRIB_REPO}/modules \
-B ${OPENVINO_CONTRIB_BUILD_DIR}
cmake --build ${OPENVINO_CONTRIB_BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
- name: Show ccache stats
run: ccache --show-stats
@@ -179,6 +163,30 @@ jobs:
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz *
popd
- name: Build Debian packages
run: |
/usr/bin/python3.8 -m pip install -U pip
/usr/bin/python3.8 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
/usr/bin/python3.8 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
cmake -UPYTHON* \
-DCPACK_GENERATOR=DEB \
-DENABLE_PYTHON_PACKAGING=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3.8 \
-DENABLE_TESTS=OFF \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target package
- name: Cmake & Build - OpenVINO Contrib
run: |
cmake \
-DBUILD_nvidia_plugin=OFF \
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
-DOPENVINO_EXTRA_MODULES=${OPENVINO_CONTRIB_REPO}/modules \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
#
# Upload build artifacts
#
@@ -191,6 +199,14 @@ jobs:
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino debian packages
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: openvino_debian_packages
path: ${{ env.BUILD_DIR }}/*.deb
if-no-files-found: 'error'
- name: Upload openvino tests package
if: ${{ always() }}
uses: actions/upload-artifact@v3
@@ -199,6 +215,57 @@ jobs:
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
Debian_Packages:
needs: Build
defaults:
run:
shell: bash
runs-on: ubuntu-20.04
container:
image: ubuntu:20.04
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
DEBIAN_PACKAGES_DIR: /__w/openvino/packages/
steps:
- name: Create Directories
run: mkdir -p ${DEBIAN_PACKAGES_DIR}
- name: Download OpenVINO debian packages
uses: actions/download-artifact@v3
with:
name: openvino_debian_packages
path: ${{ env.DEBIAN_PACKAGES_DIR }}
- name: Install debian packages & check conflicts
run: |
apt-get update -y
# Install debian packages from previous release
apt-get install --no-install-recommends -y gnupg wget ca-certificates
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/openvino/2023 ubuntu20 main" | tee /etc/apt/sources.list.d/intel-openvino-2023.list
apt-get update -y
apt-get install -y openvino
# install our local one and make sure the conflicts are resolved
apt-get install --no-install-recommends -y dpkg-dev
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
echo "deb [trusted=yes] file:${DEBIAN_PACKAGES_DIR} ./" | tee /etc/apt/sources.list.d/openvino-local.list
apt-get update -y
apt-get install openvino -y
working-directory: ${{ env.DEBIAN_PACKAGES_DIR }}
- name: Test debian packages
run: |
/usr/share/openvino/samples/cpp/build_samples.sh
/usr/share/openvino/samples/c/build_samples.sh
~/openvino_cpp_samples_build/intel64/Release/hello_query_device
python3 /usr/share/openvino/samples/python/hello_query_device/hello_query_device.py
python3 -c 'from openvino import Core; print(Core().available_devices)'
python3 -c 'from openvino.frontend import FrontEndManager; assert len(FrontEndManager().get_available_front_ends()) == 6'
benchmark_app --help
ovc --help
Samples:
needs: Build
defaults: