Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
259 lines
8.7 KiB
YAML
259 lines
8.7 KiB
YAML
name: Fedora (RHEL), Python 3.9
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- 'releases/**'
|
|
|
|
concurrency:
|
|
# github.ref is not unique in post-commit
|
|
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-fedora33
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
Smart_CI:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
|
|
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
|
|
steps:
|
|
- name: checkout action
|
|
uses: actions/checkout@v4
|
|
with:
|
|
sparse-checkout: .github/actions/smart-ci
|
|
|
|
- name: Get affected components
|
|
id: smart_ci
|
|
uses: ./.github/actions/smart-ci
|
|
with:
|
|
repository: ${{ github.repository }}
|
|
pr: ${{ github.event.number }}
|
|
commit_sha: ${{ github.sha }}
|
|
component_pattern: "category: (.*)"
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
skip_when_only_listed_labels_set: 'docs'
|
|
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
|
|
|
|
Build:
|
|
needs: Smart_CI
|
|
timeout-minutes: 150
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
runs-on: aks-linux-16-cores-32gb
|
|
container:
|
|
image: fedora:33
|
|
volumes:
|
|
- /mount:/mount
|
|
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
|
env:
|
|
CMAKE_BUILD_TYPE: 'Release'
|
|
CMAKE_GENERATOR: 'Ninja'
|
|
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
|
CMAKE_C_COMPILER_LAUNCHER: sccache
|
|
GITHUB_WORKSPACE: '/__w/openvino/openvino'
|
|
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
|
INSTALL_DIR: /__w/openvino/openvino/openvino_install
|
|
INSTALL_TEST_DIR: /__w/openvino/openvino/tests_install
|
|
BUILD_DIR: /__w/openvino/openvino/openvino_build
|
|
SCCACHE_AZURE_KEY_PREFIX: fedora33_x86_64_Release
|
|
if: "!needs.smart_ci.outputs.skip_workflow"
|
|
steps:
|
|
- name: Install git
|
|
run: yum update -y && yum install -y git
|
|
|
|
- name: Clone OpenVINO
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: ${{ env.OPENVINO_REPO }}
|
|
submodules: 'true'
|
|
|
|
#
|
|
# Print system info
|
|
#
|
|
|
|
- name: System info
|
|
uses: ./openvino/.github/actions/system_info
|
|
|
|
#
|
|
# Dependencies
|
|
#
|
|
|
|
- name: Install build dependencies
|
|
run: bash ${OPENVINO_REPO}/install_build_dependencies.sh
|
|
|
|
- name: Install sccache
|
|
uses: mozilla-actions/sccache-action@v0.0.3
|
|
with:
|
|
version: "v0.5.4"
|
|
|
|
- name: Install python dependencies
|
|
run: |
|
|
python3 -m pip install -U pip
|
|
# 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/src/compatibility/openvino/requirements-dev.txt
|
|
|
|
# For running ONNX frontend unit tests
|
|
python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt
|
|
|
|
# For running TensorFlow frontend unit tests
|
|
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow/tests/requirements.txt
|
|
|
|
# For running TensorFlow Lite frontend unit tests
|
|
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow_lite/tests/requirements.txt
|
|
|
|
# For running Paddle frontend unit tests
|
|
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/paddle/tests/requirements.txt
|
|
|
|
#
|
|
# Build
|
|
#
|
|
|
|
- name: CMake configure - OpenVINO
|
|
run: |
|
|
cmake \
|
|
-G "${{ env.CMAKE_GENERATOR }}" \
|
|
-DENABLE_CPPLINT=OFF \
|
|
-DENABLE_NCC_STYLE=OFF \
|
|
-DENABLE_TESTS=ON \
|
|
-DENABLE_STRICT_DEPENDENCIES=OFF \
|
|
-DENABLE_SYSTEM_TBB=ON \
|
|
-DENABLE_SYSTEM_OPENCL=ON \
|
|
-DENABLE_PYTHON_PACKAGING=ON \
|
|
-DCPACK_GENERATOR=TGZ \
|
|
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
|
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
|
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
|
-S ${OPENVINO_REPO} \
|
|
-B ${BUILD_DIR}
|
|
|
|
- name: Cmake build - OpenVINO
|
|
run: cmake --build ${BUILD_DIR} --parallel --verbose
|
|
|
|
- name: Show sccache stats
|
|
run: ${SCCACHE_PATH} --show-stats
|
|
|
|
- name: Cmake install - OpenVINO
|
|
run: |
|
|
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake
|
|
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} -DCOMPONENT=tests -P ${BUILD_DIR}/cmake_install.cmake
|
|
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DCOMPONENT=python_wheels -P ${BUILD_DIR}/cmake_install.cmake
|
|
|
|
- name: Pack Artifacts
|
|
run: |
|
|
pushd ${INSTALL_DIR}
|
|
tar -czvf ${BUILD_DIR}/openvino_package.tar.gz *
|
|
popd
|
|
|
|
pushd ${INSTALL_TEST_DIR}
|
|
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz *
|
|
popd
|
|
|
|
- name: Build RPM packages
|
|
run: |
|
|
cmake -DCPACK_GENERATOR=RPM \
|
|
-DENABLE_TESTS=OFF \
|
|
${BUILD_DIR}
|
|
cmake --build ${BUILD_DIR} --parallel --target package --verbose
|
|
|
|
#
|
|
# Upload build artifacts
|
|
#
|
|
|
|
- name: Upload openvino package
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: openvino_package
|
|
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
|
|
if-no-files-found: 'error'
|
|
|
|
- name: Upload openvino RPM packages
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: openvino_rpm_packages
|
|
path: ${{ env.BUILD_DIR }}/*.rpm
|
|
if-no-files-found: 'error'
|
|
|
|
- name: Upload openvino tests package
|
|
if: ${{ always() }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: openvino_tests
|
|
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
|
|
if-no-files-found: 'error'
|
|
|
|
RPM_Packages:
|
|
needs: Build
|
|
timeout-minutes: 10
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
runs-on: ubuntu-20.04
|
|
container:
|
|
image: fedora:33
|
|
env:
|
|
RPM_PACKAGES_DIR: /__w/openvino/packages/
|
|
|
|
steps:
|
|
- name: Download OpenVINO RPM packages
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: openvino_rpm_packages
|
|
path: ${{ env.RPM_PACKAGES_DIR }}
|
|
|
|
- name: Install RPM packages & check conflicts
|
|
run: |
|
|
tee > /tmp/openvino-2023.repo << EOF
|
|
[OpenVINO]
|
|
name=Intel(R) Distribution of OpenVINO 2023
|
|
baseurl=https://yum.repos.intel.com/openvino/2023
|
|
enabled=1
|
|
gpgcheck=1
|
|
repo_gpgcheck=1
|
|
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
|
|
EOF
|
|
|
|
# install previous release version
|
|
mv /tmp/openvino-2023.repo /etc/yum.repos.d
|
|
yum install -y openvino
|
|
|
|
# install current version
|
|
yum install --allowerasing -y *.rpm
|
|
working-directory: ${{ env.RPM_PACKAGES_DIR }}
|
|
|
|
- name: Test RPM 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; Core().get_property("CPU", "AVAILABLE_DEVICES")'
|
|
python3 -c 'from openvino import Core; Core().get_property("GPU", "AVAILABLE_DEVICES")'
|
|
python3 -c 'from openvino import Core; Core().get_property("AUTO", "SUPPORTED_METRICS")'
|
|
python3 -c 'from openvino import Core; Core().get_property("MULTI", "SUPPORTED_METRICS")'
|
|
python3 -c 'from openvino import Core; Core().get_property("HETERO", "SUPPORTED_METRICS")'
|
|
python3 -c 'from openvino import Core; Core().get_property("BATCH", "SUPPORTED_METRICS")'
|
|
python3 -c 'from openvino.frontend import FrontEndManager; assert len(FrontEndManager().get_available_front_ends()) == 6'
|
|
benchmark_app --help
|
|
ovc --help
|
|
|
|
Overall_Status:
|
|
name: ci/gha_overall_status_fedora
|
|
needs: [Smart_CI, Build, RPM_Packages]
|
|
if: ${{ always() }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check status of all jobs
|
|
if: >-
|
|
${{
|
|
contains(needs.*.result, 'failure') ||
|
|
contains(needs.*.result, 'cancelled')
|
|
}}
|
|
run: exit 1
|