From d0fd2dc3efe3f5ee5dc755580384478886402b6c Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 10:35:44 +0100 Subject: [PATCH 01/36] start with Docker and wf for Debian 10 --- .../dockerfiles/ov_build/debian_10/Dockerfile | 61 ++++ .../debian_10/install_build_dependencies.sh | 334 ++++++++++++++++++ .github/workflows/debian_arm.yml | 267 ++++++++++++++ 3 files changed, 662 insertions(+) create mode 100644 .github/dockerfiles/ov_build/debian_10/Dockerfile create mode 100755 .github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh create mode 100644 .github/workflows/debian_arm.yml diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile new file mode 100644 index 00000000000000..435881d11f710b --- /dev/null +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -0,0 +1,61 @@ +FROM debian:10.13 + +USER root + +# APT configuration +RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \ + echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \ + echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \ + echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf + +ENV DEBIAN_FRONTEND="noninteractive" \ + TZ="Europe/London" + +RUN apt update && \ + apt install software-properties-common && \ + add-apt-repository --yes ppa:git-core/ppa && \ + add-apt-repository --yes ppa:deadsnakes/ppa && \ + apt update && \ + apt install \ + curl \ + git \ + gpg-agent \ + tzdata \ + # Pythons \ + python3.11-dev \ + python3.11-venv \ + python3.11-distutils \ + && \ + rm -rf /var/lib/apt/lists/* + +# Install build dependencies +ADD install_build_dependencies.sh /install_build_dependencies.sh +RUN chmod +x /install_build_dependencies.sh && \ + /install_build_dependencies.sh && \ + rm -rf /var/lib/apt/lists/* + +# Install sscache +ARG SCCACHE_VERSION="v0.7.5" +ENV SCCACHE_HOME="/opt/sccache" \ + SCCACHE_PATH="/opt/sccache/sccache" + +RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ + SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" && \ + curl -SLO https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${SCCACHE_ARCHIVE} && \ + tar -xzf ${SCCACHE_ARCHIVE} --strip-components=1 && rm ${SCCACHE_ARCHIVE} + +ENV PATH="$SCCACHE_HOME:$PATH" + +# Setup pip +ENV PIP_VERSION="24.0" +RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ + python3 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \ + python3.11 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \ + rm -f get-pip.py + +# Use Python 3.11 as default +# Using venv here 'cause other methods to switch the default Python on Ubuntu break both system and wheels build +RUN python3.11 -m venv venv +ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" + +ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} diff --git a/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh b/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh new file mode 100755 index 00000000000000..4ee562c993b74f --- /dev/null +++ b/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh @@ -0,0 +1,334 @@ +#!/bin/bash + +# Copyright (C) 2018-2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +if [ $EUID -ne 0 ]; then + echo "ERROR: this script must be run as root to install 3rd party packages." >&2 + echo "Please try again with \"sudo -E $0\", or as root." >&2 + exit 1 +fi + +# install dependencies +if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then + # Ubuntu + host_cpu=$(uname -m) + + x86_64_specific_packages=() + if [ "$host_cpu" = "x86_64" ]; then + # to build 32-bit or ARM binaries on 64-bit host + x86_64_specific_packages+=(gcc-multilib g++-multilib) + fi + + if ! command -v cmake &> /dev/null; then + cmake_packages=(cmake) + fi + + apt update + apt-get install -y --no-install-recommends \ + `# for python3-pip` \ + ca-certificates \ + file \ + `# build tools` \ + build-essential \ + ninja-build \ + scons \ + ccache \ + "${cmake_packages[@]}" \ + "${x86_64_specific_packages[@]}" \ + `# to find dependencies` \ + pkgconf \ + `# to deternime product version via git` \ + git \ + `# check bash scripts for correctness` \ + shellcheck \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# archive debian changelog file` \ + gzip \ + `# to check debian package correctness` \ + lintian \ + `# openvino main dependencies` \ + libtbb-dev \ + libpugixml-dev \ + `# OpenCL for GPU` \ + ocl-icd-opencl-dev \ + opencl-headers \ + rapidjson-dev \ + `# GPU plugin extensions` \ + libva-dev \ + `# For TF FE saved models` \ + libsnappy-dev \ + `# python API` \ + python3-pip \ + python3-venv \ + python3-setuptools \ + libpython3-dev \ + pybind11-dev \ + libffi-dev \ + `# spell checking for MO sources` \ + python3-enchant \ + `# tools` \ + wget + # TF lite frontend + if apt-cache search --names-only '^libflatbuffers-dev'| grep -q libflatbuffers-dev; then + apt-get install -y --no-install-recommends libflatbuffers-dev + fi + # git-lfs is not available on debian9 + if apt-cache search --names-only '^git-lfs'| grep -q git-lfs; then + apt-get install -y --no-install-recommends git-lfs + fi + # for python3-enchant + if apt-cache search --names-only 'libenchant1c2a'| grep -q libenchant1c2a; then + apt-get install -y --no-install-recommends libenchant1c2a + fi + # samples + if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then + apt-get install -y --no-install-recommends nlohmann-json3-dev + else + apt-get install -y --no-install-recommends nlohmann-json-dev + fi +elif [ -f /etc/redhat-release ] || grep -q "rhel\|tencentos\|opencloudos" /etc/os-release ; then + yum update + # RHEL 8 / CentOS 7 + if [ -f /etc/redhat-release ] || grep -q "rhel" /etc/os-release ; then + yum install -y centos-release-scl + yum install -y epel-release + yum install -y \ + `# to build and check pip packages` \ + patchelf \ + `# check bash scripts for correctness` \ + ShellCheck + else + yum install -y epol-release + fi + yum install -y \ + file \ + `# build tools` \ + cmake3 \ + ccache \ + ninja-build \ + scons \ + gcc \ + gcc-c++ \ + make \ + `# to determine openvino version via git` \ + git \ + fdupes \ + `# to build and check rpm packages` \ + rpm-build \ + rpmlint \ + `# main openvino dependencies` \ + tbb-devel \ + pugixml-devel \ + `# GPU plugin dependency` \ + libva-devel \ + `# For TF FE saved models` \ + snappy-devel \ + `# OpenCL for GPU` \ + ocl-icd-devel \ + opencl-headers \ + `# python API` \ + python3-pip \ + python3-devel +elif [ -f /etc/os-release ] && grep -q "SUSE" /etc/os-release ; then + zypper refresh + zypper install -y \ + file \ + `# build tools` \ + patterns-devel-C-C++-devel_C_C++ \ + cmake \ + ccache \ + ninja \ + scons \ + gcc \ + gcc-c++ \ + make \ + `# to determine openvino version via git` \ + git \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# to build and check rpm packages` \ + rpm-build \ + rpmlint \ + `# check bash scripts for correctness` \ + ShellCheck \ + `# main openvino dependencies` \ + tbb-devel \ + pugixml-devel \ + `# GPU plugin dependency` \ + libva-devel \ + `# For TF FE saved models` \ + snappy-devel \ + `# OpenCL for GPU` \ + ocl-icd-devel \ + opencl-cpp-headers \ + opencl-headers \ + `# python API` \ + python39-pip \ + python39-setuptools \ + python39-devel +elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then + # Raspbian + apt update + apt-get install -y --no-install-recommends \ + file \ + `# build tools` \ + build-essential \ + ccache \ + ninja-build \ + scons \ + `# to find dependencies` \ + pkg-config \ + `# to determine product version via git` \ + git \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# archive debian changelog file` \ + gzip \ + `# openvino main dependencies` \ + libtbb-dev \ + libpugixml-dev \ + `# python API` \ + python3-pip \ + python3-venv \ + python3-setuptools \ + libpython3-dev +elif [ -f /etc/os-release ] && grep -q "void" /etc/os-release; then + #Void Linux + xbps-install -Syu + xbps-install -y \ + `# for python3-pip` \ + `# ca-certificates (already included)` \ + file \ + `# build tools` \ + base-devel \ + ninja \ + scons \ + ccache \ + cmake \ + `# to find dependencies` \ + pkgconf \ + `# to determine product version via git` \ + git \ + `# to check bash scripts for correctness` \ + shellcheck \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# main openvino dependencies` \ + tbb-devel \ + pugixml-devel \ + `# OpenCL for GPU` \ + ocl-icd-devel \ + OpenCL-Headers \ + OpenCL-CLHPP \ + rapidjson \ + `# GPU plugin dependency` \ + libva-devel \ + `# For TF FE saved models` \ + snappy-devel \ + `# For Python API` \ + python3-pip \ + python3-wheel \ + python3-setuptools \ + python3-devel \ + python3-pybind11 \ + libffi-devel \ + `# Spell checking for MO sources` \ + python3-enchant \ + `# tools` \ + wget \ + git-lfs \ + `# TF Lite Frontend` \ + flatbuffers-devel \ + `# for python3-enchant` \ + enchant2-devel \ + `# samples` \ + json-c++ +elif [ -f /etc/os-release ] && grep -q "alpine" /etc/os-release; then + #Alpine Linux + apk --no-cache add \ + `# for python3-pip` \ + ca-certificates \ + file \ + `# build tools` \ + build-base \ + ninja-is-really-ninja \ + scons \ + ccache \ + cmake \ + `# to find dependencies` \ + pkgconf \ + `# to determine product version via git` \ + git \ + `# to check bash scripts for correctness` \ + shellcheck \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# main openvino dependencies` \ + onetbb-dev \ + py3-tbb \ + pugixml-dev \ + `# OpenCL for GPU` \ + opencl-dev `#(includes opencl-headers)`\ + rapidjson-dev \ + `# GPU plugin dependency` \ + libva-dev \ + `# For TF FE saved models` \ + snappy-dev \ + `# For Python API` \ + py3-pip `#(includes py3-setuptools)`\ + py3-wheel \ + py3-virtualenv \ + python3-dev \ + py3-pybind11-dev \ + libffi-dev \ + `# Spell checking for MO sources` \ + py3-enchant \ + `# tools` \ + wget \ + git-lfs \ + `# TF Lite Frontend` \ + flatbuffers-dev \ + `# for python3-enchant` \ + enchant2 \ + `# samples` \ + nlohmann-json +else + echo "Unknown OS, please install build dependencies manually" +fi + +# cmake 3.20.0 or higher is required to build OpenVINO + +if command -v cmake &> /dev/null; then + cmake_command=cmake +elif command -v cmake3 &> /dev/null; then + cmake_command=cmake3 +fi + +current_cmake_ver=$($cmake_command --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') +required_cmake_ver=3.24.0 +if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_ver" | sort -V | head -n1)" = "$required_cmake_ver" ]; then + installed_cmake_ver=3.26.0 + arch=$(uname -m) + + if command -v apt-get &> /dev/null; then + apt-get install -y --no-install-recommends wget + elif command -v yum &> /dev/null; then + yum install -y wget + elif command -v zypper &> /dev/null; then + zypper in -y wget + fi + + cmake_install_bin="cmake-${installed_cmake_ver}-linux-${arch}.sh" + github_cmake_release="https://github.com/Kitware/CMake/releases/download/v${installed_cmake_ver}/${cmake_install_bin}" + wget "${github_cmake_release}" -O "${cmake_install_bin}" + chmod +x "${cmake_install_bin}" + "./${cmake_install_bin}" --skip-license --prefix=/usr/local + rm -rf "${cmake_install_bin}" +fi diff --git a/.github/workflows/debian_arm.yml b/.github/workflows/debian_arm.yml new file mode 100644 index 00000000000000..dca4f9344db34d --- /dev/null +++ b/.github/workflows/debian_arm.yml @@ -0,0 +1,267 @@ +name: Debian 10 ARM +on: + workflow_dispatch: + pull_request: + merge_group: + push: + branches: + - master + - 'releases/**' + +concurrency: + # github.ref is not unique in post-commit + group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-debian-10-arm + cancel-in-progress: true + +permissions: read-all + +env: + PIP_CACHE_PATH: /mount/caches/pip/linux + PYTHON_VERSION: '3.11' + +jobs: + Smart_CI: + runs-on: ubuntu-latest + outputs: + affected_components: "${{ steps.smart_ci.outputs.affected_components }}" + changed_components: "${{ steps.smart_ci.outputs.changed_components }}" + skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}" + steps: + - name: checkout action + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + 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 }} + ref_name: ${{ github.ref_name }} + 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/*' + + - name: Show affected components + run: | + echo "${{ toJSON(steps.smart_ci.outputs.affected_components) }}" + shell: bash + + Docker: + needs: Smart_CI + runs-on: aks-linux-4-cores-16gb-docker-build + container: + image: openvinogithubactions.azurecr.io/docker_build:0.2 + volumes: + - /mount:/mount + outputs: + images: "${{ steps.handle_docker.outputs.images }}" + steps: + - name: Checkout + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + + - uses: ./.github/actions/handle_docker + id: handle_docker + with: + images: | + ov_build/ubuntu_22_04_x64_cc + ov_test/ubuntu_22_04_x64 + registry: 'openvinogithubactions.azurecr.io' + dockerfiles_root_dir: '.github/dockerfiles' + changed_components: ${{ needs.smart_ci.outputs.changed_components }} + + Build: + needs: [Docker, Smart_CI] + timeout-minutes: 150 + defaults: + run: + shell: bash + runs-on: aks-linux-16-cores-arm + container: + image: ${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_22_04_x64_cc }} + volumes: + - /mount:/mount + options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING + env: + DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input + CMAKE_BUILD_TYPE: 'Release' + CMAKE_GENERATOR: 'Ninja Multi-Config' + CMAKE_CXX_COMPILER_LAUNCHER: sccache + CMAKE_C_COMPILER_LAUNCHER: sccache + SCCACHE_IGNORE_SERVER_IO_ERROR: 1 + SCCACHE_SERVER_PORT: 35555 + SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt + SCCACHE_LOG: warn + 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 + SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat + MODELS_PATH: /__w/openvino/openvino/testdata + SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_itt_clang_Release_faster_build + if: ${{ !needs.smart_ci.outputs.skip_workflow && github.event_name != 'merge_group' }} + + steps: + - name: Clone OpenVINO + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + path: ${{ env.OPENVINO_REPO }} + submodules: 'true' + + - name: Clone test models + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + repository: 'openvinotoolkit/testdata' + path: ${{ env.MODELS_PATH }} + lfs: 'true' + ref: 'master' + + # + # Print system info + # + + - name: System info + uses: ./openvino/.github/actions/system_info + + - name: Install python dependencies + run: | + # 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 - CC COLLECT + run: | + cmake \ + -G "${{ env.CMAKE_GENERATOR }}" \ + -DCMAKE_CXX_STANDARD=20 \ + -DBUILD_SHARED_LIBS=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ + -DENABLE_PROFILING_ITT=ON \ + -DSELECTIVE_BUILD=COLLECT \ + -DENABLE_FASTER_BUILD=ON \ + -DENABLE_DEBUG_CAPS=ON \ + -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ + -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ + -S ${OPENVINO_REPO} \ + -B ${BUILD_DIR} + + - name: Cmake build - CC COLLECT + run: | + cmake --build ${BUILD_DIR} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }} + cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib + + - 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 + + - name: Build C++ samples - OpenVINO build tree + run: | + cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples + cmake --build ${BUILD_DIR}/cpp_samples --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device + + - name: Build C samples - OpenVINO install tree + run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples + + - name: Ctest - OpenVINO unit tests + run: ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${BUILD_DIR} -V -L UNIT + + - name: Perform code tracing via ITT collector + run: | + python3 ${OPENVINO_REPO}/thirdparty/itt_collector/runtool/sea_runtool.py \ + --bindir ${OPENVINO_REPO}/bin/intel64/Release -o ${SELECTIVE_BUILD_STAT_DIR}/itt_stat ! \ + ${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \ + -m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU + + - name: Pack Artifacts + run: | + pushd ${SELECTIVE_BUILD_STAT_DIR} + tar -czvf ${BUILD_DIR}/openvino_selective_build_stat.tar.gz * + popd + + pushd ${INSTALL_DIR} + tar -czvf ${BUILD_DIR}/openvino_package.tar.gz \ + install_dependencies/install_openvino_dependencies.sh + popd + + cp -v ${OPENVINO_REPO}/temp/tbb/lib/lib* ${INSTALL_TEST_DIR}/tests + pushd ${INSTALL_TEST_DIR} + tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \ + tests/ov_cpu_func_tests \ + tests/libopenvino_template_extension.so \ + tests/libze_loader.so* \ + tests/libhwloc* \ + tests/libtbb* \ + tests/functional_test_utils/layer_tests_summary/* + popd + + # + # Upload build artifacts and logs + # + - name: Upload build logs + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + if: always() + with: + name: build_logs + path: ${{ env.SCCACHE_ERROR_LOG }} + if-no-files-found: 'ignore' + + - name: Upload openvino package + if: ${{ always() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: openvino_package + path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz + if-no-files-found: 'error' + + - name: Upload selective build statistics package + if: ${{ always() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: openvino_selective_build_stat + path: ${{ env.BUILD_DIR }}/openvino_selective_build_stat.tar.gz + if-no-files-found: 'error' + + - name: Upload OpenVINO tests package + if: ${{ always() }} + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + with: + name: openvino_tests + path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz + if-no-files-found: 'error' + + Overall_Status: + name: ci/gha_overall_status_linux_cc + needs: [Smart_CI, Build] + 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 From 85d74ed72e3728a844137aec5cdc343fb7754583 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 11:29:39 +0100 Subject: [PATCH 02/36] complete Dockerfile; start rewriting wf --- .../dockerfiles/ov_build/debian_10/Dockerfile | 25 +- .../debian_10/install_build_dependencies.sh | 334 ------------------ .../{debian_arm.yml => debian_10_arm.yml} | 113 ++---- 3 files changed, 46 insertions(+), 426 deletions(-) delete mode 100755 .github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh rename .github/workflows/{debian_arm.yml => debian_10_arm.yml} (63%) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index 435881d11f710b..3f03dd2c281e04 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -12,19 +12,18 @@ ENV DEBIAN_FRONTEND="noninteractive" \ TZ="Europe/London" RUN apt update && \ - apt install software-properties-common && \ - add-apt-repository --yes ppa:git-core/ppa && \ - add-apt-repository --yes ppa:deadsnakes/ppa && \ - apt update && \ apt install \ + software-properties-common \ curl \ git \ gpg-agent \ tzdata \ - # Pythons \ - python3.11-dev \ - python3.11-venv \ - python3.11-distutils \ + # Python \ + python3 \ + python3-pip \ + python3-dev \ + python3-venv \ + python3-distutils \ && \ rm -rf /var/lib/apt/lists/* @@ -48,14 +47,6 @@ ENV PATH="$SCCACHE_HOME:$PATH" # Setup pip ENV PIP_VERSION="24.0" -RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ - python3 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \ - python3.11 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \ - rm -f get-pip.py - -# Use Python 3.11 as default -# Using venv here 'cause other methods to switch the default Python on Ubuntu break both system and wheels build -RUN python3.11 -m venv venv -ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" +RUN python3 -m pip install --upgrade pip==24.0 ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} diff --git a/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh b/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh deleted file mode 100755 index 4ee562c993b74f..00000000000000 --- a/.github/dockerfiles/ov_build/debian_10/install_build_dependencies.sh +++ /dev/null @@ -1,334 +0,0 @@ -#!/bin/bash - -# Copyright (C) 2018-2024 Intel Corporation -# SPDX-License-Identifier: Apache-2.0 - -if [ $EUID -ne 0 ]; then - echo "ERROR: this script must be run as root to install 3rd party packages." >&2 - echo "Please try again with \"sudo -E $0\", or as root." >&2 - exit 1 -fi - -# install dependencies -if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then - # Ubuntu - host_cpu=$(uname -m) - - x86_64_specific_packages=() - if [ "$host_cpu" = "x86_64" ]; then - # to build 32-bit or ARM binaries on 64-bit host - x86_64_specific_packages+=(gcc-multilib g++-multilib) - fi - - if ! command -v cmake &> /dev/null; then - cmake_packages=(cmake) - fi - - apt update - apt-get install -y --no-install-recommends \ - `# for python3-pip` \ - ca-certificates \ - file \ - `# build tools` \ - build-essential \ - ninja-build \ - scons \ - ccache \ - "${cmake_packages[@]}" \ - "${x86_64_specific_packages[@]}" \ - `# to find dependencies` \ - pkgconf \ - `# to deternime product version via git` \ - git \ - `# check bash scripts for correctness` \ - shellcheck \ - `# to build and check pip packages` \ - patchelf \ - fdupes \ - `# archive debian changelog file` \ - gzip \ - `# to check debian package correctness` \ - lintian \ - `# openvino main dependencies` \ - libtbb-dev \ - libpugixml-dev \ - `# OpenCL for GPU` \ - ocl-icd-opencl-dev \ - opencl-headers \ - rapidjson-dev \ - `# GPU plugin extensions` \ - libva-dev \ - `# For TF FE saved models` \ - libsnappy-dev \ - `# python API` \ - python3-pip \ - python3-venv \ - python3-setuptools \ - libpython3-dev \ - pybind11-dev \ - libffi-dev \ - `# spell checking for MO sources` \ - python3-enchant \ - `# tools` \ - wget - # TF lite frontend - if apt-cache search --names-only '^libflatbuffers-dev'| grep -q libflatbuffers-dev; then - apt-get install -y --no-install-recommends libflatbuffers-dev - fi - # git-lfs is not available on debian9 - if apt-cache search --names-only '^git-lfs'| grep -q git-lfs; then - apt-get install -y --no-install-recommends git-lfs - fi - # for python3-enchant - if apt-cache search --names-only 'libenchant1c2a'| grep -q libenchant1c2a; then - apt-get install -y --no-install-recommends libenchant1c2a - fi - # samples - if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then - apt-get install -y --no-install-recommends nlohmann-json3-dev - else - apt-get install -y --no-install-recommends nlohmann-json-dev - fi -elif [ -f /etc/redhat-release ] || grep -q "rhel\|tencentos\|opencloudos" /etc/os-release ; then - yum update - # RHEL 8 / CentOS 7 - if [ -f /etc/redhat-release ] || grep -q "rhel" /etc/os-release ; then - yum install -y centos-release-scl - yum install -y epel-release - yum install -y \ - `# to build and check pip packages` \ - patchelf \ - `# check bash scripts for correctness` \ - ShellCheck - else - yum install -y epol-release - fi - yum install -y \ - file \ - `# build tools` \ - cmake3 \ - ccache \ - ninja-build \ - scons \ - gcc \ - gcc-c++ \ - make \ - `# to determine openvino version via git` \ - git \ - fdupes \ - `# to build and check rpm packages` \ - rpm-build \ - rpmlint \ - `# main openvino dependencies` \ - tbb-devel \ - pugixml-devel \ - `# GPU plugin dependency` \ - libva-devel \ - `# For TF FE saved models` \ - snappy-devel \ - `# OpenCL for GPU` \ - ocl-icd-devel \ - opencl-headers \ - `# python API` \ - python3-pip \ - python3-devel -elif [ -f /etc/os-release ] && grep -q "SUSE" /etc/os-release ; then - zypper refresh - zypper install -y \ - file \ - `# build tools` \ - patterns-devel-C-C++-devel_C_C++ \ - cmake \ - ccache \ - ninja \ - scons \ - gcc \ - gcc-c++ \ - make \ - `# to determine openvino version via git` \ - git \ - `# to build and check pip packages` \ - patchelf \ - fdupes \ - `# to build and check rpm packages` \ - rpm-build \ - rpmlint \ - `# check bash scripts for correctness` \ - ShellCheck \ - `# main openvino dependencies` \ - tbb-devel \ - pugixml-devel \ - `# GPU plugin dependency` \ - libva-devel \ - `# For TF FE saved models` \ - snappy-devel \ - `# OpenCL for GPU` \ - ocl-icd-devel \ - opencl-cpp-headers \ - opencl-headers \ - `# python API` \ - python39-pip \ - python39-setuptools \ - python39-devel -elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then - # Raspbian - apt update - apt-get install -y --no-install-recommends \ - file \ - `# build tools` \ - build-essential \ - ccache \ - ninja-build \ - scons \ - `# to find dependencies` \ - pkg-config \ - `# to determine product version via git` \ - git \ - `# to build and check pip packages` \ - patchelf \ - fdupes \ - `# archive debian changelog file` \ - gzip \ - `# openvino main dependencies` \ - libtbb-dev \ - libpugixml-dev \ - `# python API` \ - python3-pip \ - python3-venv \ - python3-setuptools \ - libpython3-dev -elif [ -f /etc/os-release ] && grep -q "void" /etc/os-release; then - #Void Linux - xbps-install -Syu - xbps-install -y \ - `# for python3-pip` \ - `# ca-certificates (already included)` \ - file \ - `# build tools` \ - base-devel \ - ninja \ - scons \ - ccache \ - cmake \ - `# to find dependencies` \ - pkgconf \ - `# to determine product version via git` \ - git \ - `# to check bash scripts for correctness` \ - shellcheck \ - `# to build and check pip packages` \ - patchelf \ - fdupes \ - `# main openvino dependencies` \ - tbb-devel \ - pugixml-devel \ - `# OpenCL for GPU` \ - ocl-icd-devel \ - OpenCL-Headers \ - OpenCL-CLHPP \ - rapidjson \ - `# GPU plugin dependency` \ - libva-devel \ - `# For TF FE saved models` \ - snappy-devel \ - `# For Python API` \ - python3-pip \ - python3-wheel \ - python3-setuptools \ - python3-devel \ - python3-pybind11 \ - libffi-devel \ - `# Spell checking for MO sources` \ - python3-enchant \ - `# tools` \ - wget \ - git-lfs \ - `# TF Lite Frontend` \ - flatbuffers-devel \ - `# for python3-enchant` \ - enchant2-devel \ - `# samples` \ - json-c++ -elif [ -f /etc/os-release ] && grep -q "alpine" /etc/os-release; then - #Alpine Linux - apk --no-cache add \ - `# for python3-pip` \ - ca-certificates \ - file \ - `# build tools` \ - build-base \ - ninja-is-really-ninja \ - scons \ - ccache \ - cmake \ - `# to find dependencies` \ - pkgconf \ - `# to determine product version via git` \ - git \ - `# to check bash scripts for correctness` \ - shellcheck \ - `# to build and check pip packages` \ - patchelf \ - fdupes \ - `# main openvino dependencies` \ - onetbb-dev \ - py3-tbb \ - pugixml-dev \ - `# OpenCL for GPU` \ - opencl-dev `#(includes opencl-headers)`\ - rapidjson-dev \ - `# GPU plugin dependency` \ - libva-dev \ - `# For TF FE saved models` \ - snappy-dev \ - `# For Python API` \ - py3-pip `#(includes py3-setuptools)`\ - py3-wheel \ - py3-virtualenv \ - python3-dev \ - py3-pybind11-dev \ - libffi-dev \ - `# Spell checking for MO sources` \ - py3-enchant \ - `# tools` \ - wget \ - git-lfs \ - `# TF Lite Frontend` \ - flatbuffers-dev \ - `# for python3-enchant` \ - enchant2 \ - `# samples` \ - nlohmann-json -else - echo "Unknown OS, please install build dependencies manually" -fi - -# cmake 3.20.0 or higher is required to build OpenVINO - -if command -v cmake &> /dev/null; then - cmake_command=cmake -elif command -v cmake3 &> /dev/null; then - cmake_command=cmake3 -fi - -current_cmake_ver=$($cmake_command --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') -required_cmake_ver=3.24.0 -if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_ver" | sort -V | head -n1)" = "$required_cmake_ver" ]; then - installed_cmake_ver=3.26.0 - arch=$(uname -m) - - if command -v apt-get &> /dev/null; then - apt-get install -y --no-install-recommends wget - elif command -v yum &> /dev/null; then - yum install -y wget - elif command -v zypper &> /dev/null; then - zypper in -y wget - fi - - cmake_install_bin="cmake-${installed_cmake_ver}-linux-${arch}.sh" - github_cmake_release="https://github.com/Kitware/CMake/releases/download/v${installed_cmake_ver}/${cmake_install_bin}" - wget "${github_cmake_release}" -O "${cmake_install_bin}" - chmod +x "${cmake_install_bin}" - "./${cmake_install_bin}" --skip-license --prefix=/usr/local - rm -rf "${cmake_install_bin}" -fi diff --git a/.github/workflows/debian_arm.yml b/.github/workflows/debian_10_arm.yml similarity index 63% rename from .github/workflows/debian_arm.yml rename to .github/workflows/debian_10_arm.yml index dca4f9344db34d..f5b0e02be14fa3 100644 --- a/.github/workflows/debian_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -15,10 +15,6 @@ concurrency: permissions: read-all -env: - PIP_CACHE_PATH: /mount/caches/pip/linux - PYTHON_VERSION: '3.11' - jobs: Smart_CI: runs-on: ubuntu-latest @@ -52,7 +48,7 @@ jobs: Docker: needs: Smart_CI - runs-on: aks-linux-4-cores-16gb-docker-build + runs-on: aks-linux-16-cores-arm-docker-build container: image: openvinogithubactions.azurecr.io/docker_build:0.2 volumes: @@ -67,26 +63,24 @@ jobs: id: handle_docker with: images: | - ov_build/ubuntu_22_04_x64_cc - ov_test/ubuntu_22_04_x64 + ov_build/debian_10 registry: 'openvinogithubactions.azurecr.io' dockerfiles_root_dir: '.github/dockerfiles' changed_components: ${{ needs.smart_ci.outputs.changed_components }} Build: - needs: [Docker, Smart_CI] + needs: [ Smart_CI, Docker ] timeout-minutes: 150 defaults: run: shell: bash - runs-on: aks-linux-16-cores-arm + runs-on: 'aks-linux-16-cores-arm' container: - image: ${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_22_04_x64_cc }} + image: ${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10 }} volumes: - /mount:/mount options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING env: - DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input CMAKE_BUILD_TYPE: 'Release' CMAKE_GENERATOR: 'Ninja Multi-Config' CMAKE_CXX_COMPILER_LAUNCHER: sccache @@ -100,10 +94,8 @@ jobs: INSTALL_DIR: /__w/openvino/openvino/openvino_install INSTALL_TEST_DIR: /__w/openvino/openvino/tests_install BUILD_DIR: /__w/openvino/openvino/openvino_build - SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat - MODELS_PATH: /__w/openvino/openvino/testdata - SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_itt_clang_Release_faster_build - if: ${{ !needs.smart_ci.outputs.skip_workflow && github.event_name != 'merge_group' }} + SCCACHE_AZURE_KEY_PREFIX: 'debian_10_arm' + if: "!needs.smart_ci.outputs.skip_workflow" steps: - name: Clone OpenVINO @@ -112,14 +104,6 @@ jobs: path: ${{ env.OPENVINO_REPO }} submodules: 'true' - - name: Clone test models - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - with: - repository: 'openvinotoolkit/testdata' - path: ${{ env.MODELS_PATH }} - lfs: 'true' - ref: 'master' - # # Print system info # @@ -127,8 +111,15 @@ jobs: - name: System info uses: ./openvino/.github/actions/system_info + # + # Dependencies + # + - name: Install python dependencies run: | + # For Python API: build and wheel packaging + python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt + # For running ONNX frontend unit tests python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt @@ -145,29 +136,29 @@ jobs: # Build # - - name: CMake configure - CC COLLECT + - name: CMake configure - OpenVINO run: | cmake \ -G "${{ env.CMAKE_GENERATOR }}" \ - -DCMAKE_CXX_STANDARD=20 \ - -DBUILD_SHARED_LIBS=OFF \ - -DENABLE_TESTS=ON \ -DENABLE_CPPLINT=OFF \ -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCPACK_GENERATOR=TGZ \ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ - -DENABLE_PROFILING_ITT=ON \ - -DSELECTIVE_BUILD=COLLECT \ - -DENABLE_FASTER_BUILD=ON \ - -DENABLE_DEBUG_CAPS=ON \ - -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ + -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ + -DOV_CPU_AARCH64_USE_MULTI_ISA=ON \ -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} - - name: Cmake build - CC COLLECT - run: | - cmake --build ${BUILD_DIR} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }} - cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib + - name: Clean sccache stats + run: ${SCCACHE_PATH} --zero-stats + + - name: Cmake build - OpenVINO + run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} - name: Show sccache stats run: ${SCCACHE_PATH} --show-stats @@ -177,44 +168,24 @@ jobs: 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 - - name: Build C++ samples - OpenVINO build tree + - name: Pack Artifacts run: | - cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples - cmake --build ${BUILD_DIR}/cpp_samples --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device - - name: Build C samples - OpenVINO install tree - run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples + # Add the ONNX Runtime version and skip tests list to the archive to use in the ONNX Runtime Job + # w/o the need to checkout repository - - name: Ctest - OpenVINO unit tests - run: ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${BUILD_DIR} -V -L UNIT - - - name: Perform code tracing via ITT collector - run: | - python3 ${OPENVINO_REPO}/thirdparty/itt_collector/runtool/sea_runtool.py \ - --bindir ${OPENVINO_REPO}/bin/intel64/Release -o ${SELECTIVE_BUILD_STAT_DIR}/itt_stat ! \ - ${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \ - -m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU + cp -R ${ONNX_RUNTIME_UTILS} ${INSTALL_DIR} - - name: Pack Artifacts - run: | - pushd ${SELECTIVE_BUILD_STAT_DIR} - tar -czvf ${BUILD_DIR}/openvino_selective_build_stat.tar.gz * + pushd ${INSTALL_DIR} + tar -czvf ${BUILD_DIR}/openvino_package.tar.gz * popd - pushd ${INSTALL_DIR} - tar -czvf ${BUILD_DIR}/openvino_package.tar.gz \ - install_dependencies/install_openvino_dependencies.sh + pushd ${DEVELOPER_PACKAGE_DIR} + tar -czvf ${BUILD_DIR}/openvino_developer_package.tar.gz * popd - cp -v ${OPENVINO_REPO}/temp/tbb/lib/lib* ${INSTALL_TEST_DIR}/tests pushd ${INSTALL_TEST_DIR} - tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \ - tests/ov_cpu_func_tests \ - tests/libopenvino_template_extension.so \ - tests/libze_loader.so* \ - tests/libhwloc* \ - tests/libtbb* \ - tests/functional_test_utils/layer_tests_summary/* + tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz * popd # @@ -236,15 +207,7 @@ jobs: path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz if-no-files-found: 'error' - - name: Upload selective build statistics package - if: ${{ always() }} - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 - with: - name: openvino_selective_build_stat - path: ${{ env.BUILD_DIR }}/openvino_selective_build_stat.tar.gz - if-no-files-found: 'error' - - - name: Upload OpenVINO tests package + - name: Upload openvino tests package if: ${{ always() }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: @@ -253,7 +216,7 @@ jobs: if-no-files-found: 'error' Overall_Status: - name: ci/gha_overall_status_linux_cc + name: ci/gha_overall_status_debian_10_arm needs: [Smart_CI, Build] if: ${{ always() }} runs-on: ubuntu-latest From dd9a532c984094adda0def8966ae8b5ea6bb4931 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 13:33:27 +0100 Subject: [PATCH 03/36] adapt wf --- .github/workflows/debian_10_arm.yml | 44 ++++++++--------------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index f5b0e02be14fa3..47e4b7beb1c76a 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -82,7 +82,6 @@ jobs: options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING env: CMAKE_BUILD_TYPE: 'Release' - CMAKE_GENERATOR: 'Ninja Multi-Config' CMAKE_CXX_COMPILER_LAUNCHER: sccache CMAKE_C_COMPILER_LAUNCHER: sccache SCCACHE_IGNORE_SERVER_IO_ERROR: 1 @@ -94,7 +93,7 @@ jobs: 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: 'debian_10_arm' + SCCACHE_AZURE_KEY_PREFIX: 'debian_10_arm_Release' if: "!needs.smart_ci.outputs.skip_workflow" steps: @@ -117,21 +116,10 @@ jobs: - name: Install python dependencies run: | - # For Python API: build and wheel packaging + python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements.txt + python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/requirements_test.txt python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/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 # @@ -139,18 +127,18 @@ jobs: - name: CMake configure - OpenVINO run: | cmake \ - -G "${{ env.CMAKE_GENERATOR }}" \ - -DENABLE_CPPLINT=OFF \ - -DENABLE_NCC_STYLE=OFF \ - -DENABLE_TESTS=ON \ + -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ + -DTHREADS_PTHREAD_ARG="-pthread" \ + -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ + -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ -DENABLE_STRICT_DEPENDENCIES=OFF \ - -DENABLE_SYSTEM_OPENCL=ON \ -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DCPACK_GENERATOR=TGZ \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ + -DENABLE_CONFORMANCE_PGQL=ON \ + -DENABLE_LTO=ON \ + -DENABLE_TESTS=ON \ + -DENABLE_PYTHON=OFF \ -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ - -DOV_CPU_AARCH64_USE_MULTI_ISA=ON \ -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} @@ -170,20 +158,10 @@ jobs: - name: Pack Artifacts run: | - - # Add the ONNX Runtime version and skip tests list to the archive to use in the ONNX Runtime Job - # w/o the need to checkout repository - - cp -R ${ONNX_RUNTIME_UTILS} ${INSTALL_DIR} - pushd ${INSTALL_DIR} tar -czvf ${BUILD_DIR}/openvino_package.tar.gz * popd - pushd ${DEVELOPER_PACKAGE_DIR} - tar -czvf ${BUILD_DIR}/openvino_developer_package.tar.gz * - popd - pushd ${INSTALL_TEST_DIR} tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz * popd From 941f609c2a5f2f3656b24ee6658d27f03ead3d2e Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 13:34:43 +0100 Subject: [PATCH 04/36] update docker tag --- .github/dockerfiles/docker_tag | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dockerfiles/docker_tag b/.github/dockerfiles/docker_tag index 38479d3f7437dc..e6201e763f2c1a 100644 --- a/.github/dockerfiles/docker_tag +++ b/.github/dockerfiles/docker_tag @@ -1 +1 @@ -pr-25992 \ No newline at end of file +pr-26156 \ No newline at end of file From a6635ede5b8471dc01401b94c819db7093fdaf5e Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 13:37:48 +0100 Subject: [PATCH 05/36] use docker from ACR --- .github/dockerfiles/ov_build/debian_10/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index 3f03dd2c281e04..c1d6bb47737ae8 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:10.13 +FROM openvinogithubactions.azurecr.io/dockerhub/debian:10.13 USER root From 09339022ded929bf79752455d669c3a9b4bc9b3f Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 13:45:17 +0100 Subject: [PATCH 06/36] fix ACR --- .github/dockerfiles/ov_build/debian_10/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index c1d6bb47737ae8..c4849f9eb39277 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -1,4 +1,4 @@ -FROM openvinogithubactions.azurecr.io/dockerhub/debian:10.13 +FROM openvinogithubactions.azurecr.io/dockerio/library/debian:10.13 USER root From 963d3d43f3d0529d78cd3b261635d7f8ad379df7 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 15:41:43 +0100 Subject: [PATCH 07/36] install py3.11 as default --- .../dockerfiles/ov_build/debian_10/Dockerfile | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index c4849f9eb39277..8a1db8f55c48c5 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -11,19 +11,35 @@ RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \ ENV DEBIAN_FRONTEND="noninteractive" \ TZ="Europe/London" -RUN apt update && \ - apt install \ +RUN apt-get update && \ + apt-get install \ software-properties-common \ curl \ git \ gpg-agent \ tzdata \ - # Python \ + # Pythons \ python3 \ python3-pip \ python3-dev \ python3-venv \ python3-distutils \ + build-essential \ + libffi-dev \ + libgdbm-dev \ + libc6-dev \ + libssl-dev \ + zlib1g-dev \ + libbz2-dev \ + libreadline-dev \ + libsqlite3-dev \ + libncurses5-dev \ + libncursesw5-dev \ + xz-utils \ + tk-dev \ + libxml2-dev \ + libxmlsec1-dev \ + liblzma-dev \ && \ rm -rf /var/lib/apt/lists/* @@ -45,8 +61,23 @@ RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ ENV PATH="$SCCACHE_HOME:$PATH" +# Setup Python +RUN wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz + +RUN tar -xf Python-3.11.0.tar.xz && \ + cd Python-3.11.0 && \ + ./configure --enable-optimizations && \ + make -j 8 && \ + make altinstall + # Setup pip ENV PIP_VERSION="24.0" RUN python3 -m pip install --upgrade pip==24.0 +RUN python3.11 -m pip install --upgrade pip==24.0 + +# Use Python 3.11 as default +# Using venv here 'cause other methods to switch the default Python on Ubuntu break both system and wheels build +RUN python3.11 -m venv venv +ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} From d57742cbb4ab1d40448b649dd30f5efb4e461043 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 16:18:29 +0100 Subject: [PATCH 08/36] use gcc --- .github/workflows/debian_10_arm.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 47e4b7beb1c76a..5ab2312c469492 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -126,7 +126,7 @@ jobs: - name: CMake configure - OpenVINO run: | - cmake \ + export CC=gcc && export CXX=g++ && cmake \ -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ @@ -146,7 +146,7 @@ jobs: run: ${SCCACHE_PATH} --zero-stats - name: Cmake build - OpenVINO - run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} + run: export CC=gcc && export CXX=g++ && cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} - name: Show sccache stats run: ${SCCACHE_PATH} --show-stats From bdf80985c31ee3e705bcdb491625d6f6336ca526 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 16:40:17 +0100 Subject: [PATCH 09/36] add missing compilers --- .github/dockerfiles/ov_build/debian_10/Dockerfile | 3 +++ .github/workflows/debian_10_arm.yml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index 8a1db8f55c48c5..cb777450665fc6 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -40,6 +40,9 @@ RUN apt-get update && \ libxml2-dev \ libxmlsec1-dev \ liblzma-dev \ + # Compilers + gcc-arm-linux-gnueabihf \ + g++-arm-linux-gnueabihf \ && \ rm -rf /var/lib/apt/lists/* diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 5ab2312c469492..47e4b7beb1c76a 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -126,7 +126,7 @@ jobs: - name: CMake configure - OpenVINO run: | - export CC=gcc && export CXX=g++ && cmake \ + cmake \ -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ @@ -146,7 +146,7 @@ jobs: run: ${SCCACHE_PATH} --zero-stats - name: Cmake build - OpenVINO - run: export CC=gcc && export CXX=g++ && cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} + run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} - name: Show sccache stats run: ${SCCACHE_PATH} --show-stats From 2d384f01b6d6be411dca96928458154b97bea703 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 21 Aug 2024 17:02:03 +0100 Subject: [PATCH 10/36] arm sccache --- .github/dockerfiles/ov_build/debian_10/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10/Dockerfile index cb777450665fc6..be311ba2ff3fff 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10/Dockerfile @@ -58,7 +58,7 @@ ENV SCCACHE_HOME="/opt/sccache" \ SCCACHE_PATH="/opt/sccache/sccache" RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ - SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" && \ + SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-aarch64-unknown-linux-musl.tar.gz" && \ curl -SLO https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${SCCACHE_ARCHIVE} && \ tar -xzf ${SCCACHE_ARCHIVE} --strip-components=1 && rm ${SCCACHE_ARCHIVE} From 367d9f2d5bcb50db81cdb882c5fe09cdaa9cb4f0 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Thu, 22 Aug 2024 10:55:37 +0100 Subject: [PATCH 11/36] rm unnecessary dependencies --- .../{debian_10 => debian_10_arm}/Dockerfile | 16 ++-------------- .github/workflows/debian_10_arm.yml | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) rename .github/dockerfiles/ov_build/{debian_10 => debian_10_arm}/Dockerfile (88%) diff --git a/.github/dockerfiles/ov_build/debian_10/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile similarity index 88% rename from .github/dockerfiles/ov_build/debian_10/Dockerfile rename to .github/dockerfiles/ov_build/debian_10_arm/Dockerfile index be311ba2ff3fff..2fcbc8de67acc4 100644 --- a/.github/dockerfiles/ov_build/debian_10/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -24,22 +24,10 @@ RUN apt-get update && \ python3-dev \ python3-venv \ python3-distutils \ + # For building Python from source build-essential \ - libffi-dev \ - libgdbm-dev \ - libc6-dev \ - libssl-dev \ zlib1g-dev \ - libbz2-dev \ - libreadline-dev \ - libsqlite3-dev \ - libncurses5-dev \ - libncursesw5-dev \ - xz-utils \ - tk-dev \ - libxml2-dev \ - libxmlsec1-dev \ - liblzma-dev \ + libssl-dev \ # Compilers gcc-arm-linux-gnueabihf \ g++-arm-linux-gnueabihf \ diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 47e4b7beb1c76a..1a08512292333a 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -63,7 +63,7 @@ jobs: id: handle_docker with: images: | - ov_build/debian_10 + ov_build/debian_10_arm registry: 'openvinogithubactions.azurecr.io' dockerfiles_root_dir: '.github/dockerfiles' changed_components: ${{ needs.smart_ci.outputs.changed_components }} From 6ee8f2234e7820b4b7833ea11e431bc80cf8da2b Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Thu, 22 Aug 2024 15:08:38 +0100 Subject: [PATCH 12/36] provide cmake options via input --- .github/workflows/job_build_linux.yml | 19 ++++++++----------- .github/workflows/ubuntu_22.yml | 10 ++++++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 564cd8e58c38a7..05763ae4c8de12 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -22,6 +22,10 @@ on: description: 'OS that is used for building in the form of "ubuntu_20_04"' type: string required: true + cmake-options: + description: 'A string of options passed to CMake' + type: string + required: true permissions: read-all @@ -61,6 +65,9 @@ jobs: MANIFEST_PATH: '/__w/openvino/openvino/manifest.yml' PRODUCT_TYPE: public_linux_${{ inputs.os }}_release steps: + - name: Show cmake options + run: echo "${{ inputs.cmake-options }}" + - name: Clone OpenVINO uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: @@ -131,17 +138,7 @@ jobs: - 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_OPENCL=ON \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -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 }} \ + ${{ inputs.cmake-options }} -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} diff --git a/.github/workflows/ubuntu_22.yml b/.github/workflows/ubuntu_22.yml index efe712e1b06173..bc0643cde39d52 100644 --- a/.github/workflows/ubuntu_22.yml +++ b/.github/workflows/ubuntu_22.yml @@ -87,6 +87,16 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_22_04' + cmake-options: >- + -G Ninja Multi-Config \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCPACK_GENERATOR=TGZ \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON Debian_Packages: name: Debian Packages From 80b5c729b3b0307044712553905a17194360d38f Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Thu, 22 Aug 2024 15:31:03 +0100 Subject: [PATCH 13/36] add line bread --- .github/workflows/job_build_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 05763ae4c8de12..183b96b9dbe8b5 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -138,7 +138,7 @@ jobs: - name: CMake configure - OpenVINO run: | cmake \ - ${{ inputs.cmake-options }} + ${{ inputs.cmake-options }} \ -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} From 73afad4d7ef3b8400b746fe2fbd1d8ef49f83ed9 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 10:51:44 +0100 Subject: [PATCH 14/36] use reusable job for debian workflow --- .github/workflows/debian_10_arm.yml | 248 +++++++++++++++------------- 1 file changed, 134 insertions(+), 114 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 1a08512292333a..98b68c0da3d35f 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -69,129 +69,149 @@ jobs: changed_components: ${{ needs.smart_ci.outputs.changed_components }} Build: - needs: [ Smart_CI, Docker ] - timeout-minutes: 150 - defaults: - run: - shell: bash - runs-on: 'aks-linux-16-cores-arm' - container: - image: ${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10 }} - volumes: - - /mount:/mount - options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING - env: - CMAKE_BUILD_TYPE: 'Release' - CMAKE_CXX_COMPILER_LAUNCHER: sccache - CMAKE_C_COMPILER_LAUNCHER: sccache - SCCACHE_IGNORE_SERVER_IO_ERROR: 1 - SCCACHE_SERVER_PORT: 35555 - SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt - SCCACHE_LOG: warn - 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: 'debian_10_arm_Release' + needs: [Docker, Smart_CI] if: "!needs.smart_ci.outputs.skip_workflow" - - steps: - - name: Clone OpenVINO - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - with: - path: ${{ env.OPENVINO_REPO }} - submodules: 'true' - - # - # Print system info - # - - - name: System info - uses: ./openvino/.github/actions/system_info - - # - # Dependencies - # - - - name: Install python dependencies - run: | - python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements.txt - python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/requirements_test.txt - python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt - - # - # Build - # - - - name: CMake configure - OpenVINO - run: | - cmake \ + uses: ./.github/workflows/job_build_linux.yml + with: + runner: 'aks-linux-16-cores-32gb' + container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10_arm }}", "volumes": ["/mount:/mount"], "options": "-e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING"}' + affected-components: ${{ needs.smart_ci.outputs.affected_components }} + event-name: ${{ github.event_name }} + os: 'debian_10' + cmake-options: >- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ - -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ -DENABLE_STRICT_DEPENDENCIES=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DENABLE_CONFORMANCE_PGQL=ON \ -DENABLE_LTO=ON \ -DENABLE_TESTS=ON \ - -DENABLE_PYTHON=OFF \ - -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: Clean sccache stats - run: ${SCCACHE_PATH} --zero-stats - - - name: Cmake build - OpenVINO - run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} - - - 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 - - - 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 - - # - # Upload build artifacts and logs - # - - name: Upload build logs - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 - if: always() - with: - name: build_logs - path: ${{ env.SCCACHE_ERROR_LOG }} - if-no-files-found: 'ignore' - - - name: Upload openvino package - if: ${{ always() }} - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 - with: - name: openvino_package - path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz - if-no-files-found: 'error' - - - name: Upload openvino tests package - if: ${{ always() }} - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 - with: - name: openvino_tests - path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz - if-no-files-found: 'error' + -DENABLE_PYTHON=OFF +# Build: +# needs: [ Smart_CI, Docker ] +# timeout-minutes: 150 +# defaults: +# run: +# shell: bash +# runs-on: 'aks-linux-16-cores-arm' +# container: +# image: ${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10 }} +# volumes: +# - /mount:/mount +# options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING +# env: +# CMAKE_BUILD_TYPE: 'Release' +# CMAKE_CXX_COMPILER_LAUNCHER: sccache +# CMAKE_C_COMPILER_LAUNCHER: sccache +# SCCACHE_IGNORE_SERVER_IO_ERROR: 1 +# SCCACHE_SERVER_PORT: 35555 +# SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt +# SCCACHE_LOG: warn +# 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: 'debian_10_arm_Release' +# if: "!needs.smart_ci.outputs.skip_workflow" +# +# steps: +# - name: Clone OpenVINO +# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 +# with: +# path: ${{ env.OPENVINO_REPO }} +# submodules: 'true' +# +# # +# # Print system info +# # +# +# - name: System info +# uses: ./openvino/.github/actions/system_info +# +# # +# # Dependencies +# # +# +# - name: Install python dependencies +# run: | +# python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements.txt +# python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/requirements_test.txt +# python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt +# +# # +# # Build +# # +# +# - name: CMake configure - OpenVINO +# run: | +# cmake \ +# -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ +# -DTHREADS_PTHREAD_ARG="-pthread" \ +# -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ +# -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ +# -DENABLE_STRICT_DEPENDENCIES=OFF \ +# -DCMAKE_VERBOSE_MAKEFILE=ON \ +# -DENABLE_CONFORMANCE_PGQL=ON \ +# -DENABLE_LTO=ON \ +# -DENABLE_TESTS=ON \ +# -DENABLE_PYTHON=OFF \ +# -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: Clean sccache stats +# run: ${SCCACHE_PATH} --zero-stats +# +# - name: Cmake build - OpenVINO +# run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} +# +# - 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 +# +# - 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 +# +# # +# # Upload build artifacts and logs +# # +# - name: Upload build logs +# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 +# if: always() +# with: +# name: build_logs +# path: ${{ env.SCCACHE_ERROR_LOG }} +# if-no-files-found: 'ignore' +# +# - name: Upload openvino package +# if: ${{ always() }} +# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 +# with: +# name: openvino_package +# path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz +# if-no-files-found: 'error' +# +# - name: Upload openvino tests package +# if: ${{ always() }} +# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 +# with: +# name: openvino_tests +# path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz +# if-no-files-found: 'error' Overall_Status: name: ci/gha_overall_status_debian_10_arm From 2922f19a5df6c475e323b9428fa3668e061662aa Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 11:00:26 +0100 Subject: [PATCH 15/36] use arm machine --- .github/workflows/debian_10_arm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 98b68c0da3d35f..555d28a0333ca4 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -73,7 +73,7 @@ jobs: if: "!needs.smart_ci.outputs.skip_workflow" uses: ./.github/workflows/job_build_linux.yml with: - runner: 'aks-linux-16-cores-32gb' + runner: 'aks-linux-16-cores-arm' container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10_arm }}", "volumes": ["/mount:/mount"], "options": "-e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING"}' affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} From 96c8bd87af47af22950b6614bc6aee314bf66a9f Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 11:16:32 +0100 Subject: [PATCH 16/36] add missing Py dep --- .github/dockerfiles/ov_build/debian_10_arm/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index 2fcbc8de67acc4..98fbb49fda2cc4 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -1,4 +1,4 @@ -FROM openvinogithubactions.azurecr.io/dockerio/library/debian:10.13 +FROM debian:10.13 USER root @@ -24,6 +24,7 @@ RUN apt-get update && \ python3-dev \ python3-venv \ python3-distutils \ + libhdf5-dev \ # For building Python from source build-essential \ zlib1g-dev \ From bc3bd23e74a2caae2288c7f25a7fbbecbfffc330 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 11:33:08 +0100 Subject: [PATCH 17/36] fix image name --- .github/dockerfiles/ov_build/debian_10_arm/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index 98fbb49fda2cc4..4fb3fd8274d6e9 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:10.13 +FROM openvinogithubactions.azurecr.io/dockerio/library/debian:10.13 USER root From c044b29cad320e0044dd8bdd4b12a476154f4fa3 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 12:30:25 +0100 Subject: [PATCH 18/36] rm ninja as default --- .github/workflows/debian_10_arm.yml | 1 + .github/workflows/job_build_linux.yml | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 555d28a0333ca4..073c2e76bd8504 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -78,6 +78,7 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'debian_10' + arch: 'arm' cmake-options: >- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 183b96b9dbe8b5..75ef49388b0ae3 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -22,6 +22,11 @@ on: description: 'OS that is used for building in the form of "ubuntu_20_04"' type: string required: true + arch: + description: 'Target architecture' + type: string + default: 'x86_64' + required: false cmake-options: description: 'A string of options passed to CMake' type: string @@ -44,7 +49,6 @@ jobs: env: DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input CMAKE_BUILD_TYPE: 'Release' - CMAKE_GENERATOR: 'Ninja Multi-Config' CMAKE_CXX_COMPILER_LAUNCHER: sccache CMAKE_C_COMPILER_LAUNCHER: sccache SCCACHE_IGNORE_SERVER_IO_ERROR: 1 @@ -59,7 +63,7 @@ jobs: INSTALL_TEST_DIR: /__w/openvino/openvino/tests_install DEVELOPER_PACKAGE_DIR: /__w/openvino/openvino/developer_package_install BUILD_DIR: /__w/openvino/openvino/openvino_build - SCCACHE_AZURE_KEY_PREFIX: ${{ inputs.os }}_x86_64_Release + SCCACHE_AZURE_KEY_PREFIX: ${{ inputs.os }}_${{ inputs.arch }}_Release ONNX_RUNTIME_UTILS: /__w/openvino/openvino/openvino/src/frontends/onnx/tests/ci_utils/onnxruntime ARTIFACTS_SHARE: "/mount/build-artifacts" MANIFEST_PATH: '/__w/openvino/openvino/manifest.yml' From a3e8aabb83decf5380a6b31075c1959be1f06272 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 13:15:55 +0100 Subject: [PATCH 19/36] try with another option --- .github/workflows/debian_10_arm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 073c2e76bd8504..7f72e5ab8582fe 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -82,7 +82,7 @@ jobs: cmake-options: >- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ - -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \ -DENABLE_STRICT_DEPENDENCIES=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DENABLE_CONFORMANCE_PGQL=ON \ From f123f59339bf238c9fa7afb502e01c9971d07232 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 14:12:29 +0100 Subject: [PATCH 20/36] copy cmake options --- .github/workflows/debian_10_arm.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 7f72e5ab8582fe..2a68a58893b3ab 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -81,14 +81,14 @@ jobs: arch: 'arm' cmake-options: >- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ - -DTHREADS_PTHREAD_ARG="-pthread" \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DENABLE_CONFORMANCE_PGQL=ON \ - -DENABLE_LTO=ON \ - -DENABLE_TESTS=ON \ - -DENABLE_PYTHON=OFF + -DCPACK_GENERATOR=TGZ \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF # Build: # needs: [ Smart_CI, Docker ] # timeout-minutes: 150 From d9104c84926bd415f2233f706fd32d06389f20a5 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 15:27:46 +0100 Subject: [PATCH 21/36] off python --- .github/workflows/debian_10_arm.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 2a68a58893b3ab..81cf908bec83a2 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -87,6 +87,7 @@ jobs: -DENABLE_STRICT_DEPENDENCIES=OFF \ -DENABLE_SYSTEM_OPENCL=ON \ -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_PYTHON=OFF \ -DCPACK_GENERATOR=TGZ \ -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF # Build: From c6ab21903db4757dca3de4a18f58424077f72947 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Fri, 23 Aug 2024 16:37:27 +0100 Subject: [PATCH 22/36] add missing space --- .github/dockerfiles/ov_build/debian_10_arm/Dockerfile | 6 +++--- .github/workflows/debian_10_arm.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index 4fb3fd8274d6e9..a22294b0480e35 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -54,10 +54,10 @@ RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ ENV PATH="$SCCACHE_HOME:$PATH" # Setup Python -RUN wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz +RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz -RUN tar -xf Python-3.11.0.tar.xz && \ - cd Python-3.11.0 && \ +RUN tar -xf Python-3.11.9.tar.xz && \ + cd Python-3.11.9 && \ ./configure --enable-optimizations && \ make -j 8 && \ make altinstall diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 81cf908bec83a2..5c2693c24b39dc 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -79,7 +79,7 @@ jobs: event-name: ${{ github.event_name }} os: 'debian_10' arch: 'arm' - cmake-options: >- + cmake-options: >- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DENABLE_CPPLINT=OFF \ -DENABLE_NCC_STYLE=OFF \ From 8b5ae9855008af1954aba0ce14ac593cf5b83033 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 09:59:47 +0100 Subject: [PATCH 23/36] try with system python --- .../ov_build/debian_10_arm/Dockerfile | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index a22294b0480e35..2d6379e52216cb 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -54,22 +54,22 @@ RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ ENV PATH="$SCCACHE_HOME:$PATH" # Setup Python -RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz - -RUN tar -xf Python-3.11.9.tar.xz && \ - cd Python-3.11.9 && \ - ./configure --enable-optimizations && \ - make -j 8 && \ - make altinstall +#RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz +# +#RUN tar -xf Python-3.11.9.tar.xz && \ +# cd Python-3.11.9 && \ +# ./configure --enable-optimizations && \ +# make -j 8 && \ +# make altinstall # Setup pip ENV PIP_VERSION="24.0" RUN python3 -m pip install --upgrade pip==24.0 -RUN python3.11 -m pip install --upgrade pip==24.0 +# RUN python3.11 -m pip install --upgrade pip==24.0 # Use Python 3.11 as default -# Using venv here 'cause other methods to switch the default Python on Ubuntu break both system and wheels build -RUN python3.11 -m venv venv -ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" +# Using venv here because other methods to switch the default Python break both system and wheels build +# RUN python3.11 -m venv venv +# ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} From bc9b0ddadf697c4aba5675d240c171e5001f3727 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 10:20:44 +0100 Subject: [PATCH 24/36] add more packages --- .../ov_build/debian_10_arm/Dockerfile | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index 2d6379e52216cb..e3f77546a71fa4 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -27,8 +27,22 @@ RUN apt-get update && \ libhdf5-dev \ # For building Python from source build-essential \ - zlib1g-dev \ + libffi-dev \ + libgdbm-dev \ + libc6-dev \ libssl-dev \ + zlib1g-dev \ + libbz2-dev \ + libreadline-dev \ + libsqlite3-dev \ + libncurses5-dev \ + libncursesw5-dev \ + xz-utils \ + tk-dev \ + libxml2-dev \ + libxmlsec1-dev \ + liblzma-dev \ + wget \ # Compilers gcc-arm-linux-gnueabihf \ g++-arm-linux-gnueabihf \ @@ -54,22 +68,22 @@ RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ ENV PATH="$SCCACHE_HOME:$PATH" # Setup Python -#RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz -# -#RUN tar -xf Python-3.11.9.tar.xz && \ -# cd Python-3.11.9 && \ -# ./configure --enable-optimizations && \ -# make -j 8 && \ -# make altinstall +RUN wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz + +RUN tar -xf Python-3.11.9.tar.xz && \ + cd Python-3.11.9 && \ + ./configure --enable-optimizations && \ + make -j 8 && \ + make altinstall # Setup pip ENV PIP_VERSION="24.0" RUN python3 -m pip install --upgrade pip==24.0 -# RUN python3.11 -m pip install --upgrade pip==24.0 +RUN python3.11 -m pip install --upgrade pip==24.0 # Use Python 3.11 as default # Using venv here because other methods to switch the default Python break both system and wheels build -# RUN python3.11 -m venv venv -# ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" +RUN python3.11 -m venv venv +ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} From f1976e59176910b4d096b62ba847db1bc198e288 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 10:41:56 +0100 Subject: [PATCH 25/36] try with hardcoded cmake arg --- .github/workflows/job_build_linux.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 75ef49388b0ae3..f4bc0a2c498c0e 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -142,7 +142,16 @@ jobs: - name: CMake configure - OpenVINO run: | cmake \ - ${{ inputs.cmake-options }} \ + -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ + -DTHREADS_PTHREAD_ARG="-pthread" \ + -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ + -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_CONFORMANCE_PGQL=ON \ + -DENABLE_LTO=ON \ + -DENABLE_TESTS=ON \ + -DENABLE_PYTHON=OFF \ -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} From 553ec2448a9f5f266ebd872d9c393aefa9d39683 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 11:34:30 +0100 Subject: [PATCH 26/36] full cmake options via input --- .github/workflows/debian_10_arm.yml | 23 ++++++++++++----------- .github/workflows/job_build_linux.yml | 11 +---------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 5c2693c24b39dc..b6761f5de487d6 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -79,17 +79,18 @@ jobs: event-name: ${{ github.event_name }} os: 'debian_10' arch: 'arm' - cmake-options: >- - -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ - -DENABLE_CPPLINT=OFF \ - -DENABLE_NCC_STYLE=OFF \ - -DENABLE_TESTS=ON \ - -DENABLE_STRICT_DEPENDENCIES=OFF \ - -DENABLE_SYSTEM_OPENCL=ON \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DENABLE_PYTHON=OFF \ - -DCPACK_GENERATOR=TGZ \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF + cmake-options: >- + -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ + -DTHREADS_PTHREAD_ARG="-pthread" \ + -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_CONFORMANCE_PGQL=ON \ + -DENABLE_LTO=ON \ + -DENABLE_TESTS=ON \ + -DENABLE_PYTHON=OFF + # Build: # needs: [ Smart_CI, Docker ] # timeout-minutes: 150 diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index f4bc0a2c498c0e..75ef49388b0ae3 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -142,16 +142,7 @@ jobs: - name: CMake configure - OpenVINO run: | cmake \ - -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ - -DTHREADS_PTHREAD_ARG="-pthread" \ - -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ - -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ - -DENABLE_STRICT_DEPENDENCIES=OFF \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DENABLE_CONFORMANCE_PGQL=ON \ - -DENABLE_LTO=ON \ - -DENABLE_TESTS=ON \ - -DENABLE_PYTHON=OFF \ + ${{ inputs.cmake-options }} \ -S ${OPENVINO_REPO} \ -B ${BUILD_DIR} From 73118d283a241bdb519cf72ff53aca666781ddaf Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 11:51:08 +0100 Subject: [PATCH 27/36] keep newlines --- .github/workflows/debian_10_arm.yml | 2 +- .github/workflows/ubuntu_22.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index b6761f5de487d6..20cd158d047417 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -79,7 +79,7 @@ jobs: event-name: ${{ github.event_name }} os: 'debian_10' arch: 'arm' - cmake-options: >- + cmake-options: |- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ diff --git a/.github/workflows/ubuntu_22.yml b/.github/workflows/ubuntu_22.yml index bc0643cde39d52..9d384a82a0750c 100644 --- a/.github/workflows/ubuntu_22.yml +++ b/.github/workflows/ubuntu_22.yml @@ -87,8 +87,8 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_22_04' - cmake-options: >- - -G Ninja Multi-Config \ + cmake-options: |- + -G "Ninja Multi-Config" \ -DENABLE_CPPLINT=OFF \ -DENABLE_NCC_STYLE=OFF \ -DENABLE_TESTS=ON \ From 6aeeaae98f313b3c0ca2559bf34b64bd360dce00 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 12:30:32 +0100 Subject: [PATCH 28/36] add options to build job --- .github/workflows/debian_10_arm.yml | 3 +++ .github/workflows/job_build_linux.yml | 24 +++++++++++++++++++++--- .github/workflows/ubuntu_20.yml | 10 ++++++++++ .github/workflows/ubuntu_22_dpcpp.yml | 10 ++++++++++ .github/workflows/ubuntu_24.yml | 10 ++++++++++ 5 files changed, 54 insertions(+), 3 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 20cd158d047417..dab02b60435f07 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -79,6 +79,9 @@ jobs: event-name: ${{ github.event_name }} os: 'debian_10' arch: 'arm' + build-js: false + build-debian-packages: false + build-contrib: false cmake-options: |- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 75ef49388b0ae3..9575252bc6fdea 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -31,6 +31,21 @@ on: description: 'A string of options passed to CMake' type: string required: true + build-js: + description: 'Whether to build OpenVINO JS Bindings' + type: boolean + required: false + default: true + build-debian-packages: + description: 'Whether to build Debian packages' + type: boolean + required: false + default: true + build-contrib: + description: 'Whether to build OpenVINO Contrib' + type: boolean + required: false + default: true permissions: read-all @@ -88,6 +103,7 @@ jobs: git rev-parse HEAD - name: Clone OpenVINO Contrib + if: ${{ inputs.build-contrib }} uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: repository: 'openvinotoolkit/openvino_contrib' @@ -183,6 +199,7 @@ jobs: popd - name: Build Debian packages + if: ${{ inputs.build-debian-packages }} run: | # Ubuntu 24 does not allow using the system Python directly so # we have to use Python from the virtual environment created in Docker @@ -200,6 +217,7 @@ jobs: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target package - name: Cmake & Build - OpenVINO Contrib + if: ${{ inputs.build-contrib }} run: | cmake \ -DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \ @@ -209,7 +227,7 @@ jobs: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} - name: CMake configure, build and install - OpenVINO JS API - if: ${{ fromJSON(inputs.affected-components).JS_API }} + if: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }} run: | cmake -UTBB* -DCPACK_GENERATOR=NPM -DENABLE_SYSTEM_TBB=OFF -S ${OPENVINO_REPO} -B ${BUILD_DIR} cmake --build ${BUILD_DIR} --parallel @@ -235,7 +253,7 @@ jobs: if-no-files-found: 'error' - name: Upload openvino js package - if: ${{ fromJSON(inputs.affected-components).JS_API }} + if: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: openvino_js_package @@ -251,7 +269,7 @@ jobs: if-no-files-found: 'error' - name: Upload openvino debian packages - if: ${{ always() }} + if: ${{ inputs.build-debian-packages }} uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: openvino_debian_packages diff --git a/.github/workflows/ubuntu_20.yml b/.github/workflows/ubuntu_20.yml index 7820b897d78dbd..7487ed62635814 100644 --- a/.github/workflows/ubuntu_20.yml +++ b/.github/workflows/ubuntu_20.yml @@ -85,6 +85,16 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_20_04' + cmake-options: |- + -G "Ninja Multi-Config" \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCPACK_GENERATOR=TGZ \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON Debian_Packages: name: Debian Packages diff --git a/.github/workflows/ubuntu_22_dpcpp.yml b/.github/workflows/ubuntu_22_dpcpp.yml index 4af7b08a334996..7a47ee5cc30e9d 100644 --- a/.github/workflows/ubuntu_22_dpcpp.yml +++ b/.github/workflows/ubuntu_22_dpcpp.yml @@ -74,6 +74,16 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_22_04_dpcpp' + cmake-options: |- + -G "Ninja Multi-Config" \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCPACK_GENERATOR=TGZ \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON Overall_Status: name: ci/gha_overall_status_ubuntu_22.04_dpcpp diff --git a/.github/workflows/ubuntu_24.yml b/.github/workflows/ubuntu_24.yml index 5480d82a97053f..3a288595fbc00a 100644 --- a/.github/workflows/ubuntu_24.yml +++ b/.github/workflows/ubuntu_24.yml @@ -83,6 +83,16 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_24_04' + cmake-options: |- + -G "Ninja Multi-Config" \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_SYSTEM_OPENCL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCPACK_GENERATOR=TGZ \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON Debian_Packages: name: Debian Packages From d1a176bfa0507a54c134fe0f7a5781935e0f6bab Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 13:10:41 +0100 Subject: [PATCH 29/36] rm requirements --- .github/workflows/job_build_linux.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 9575252bc6fdea..3f92e8b3f5773e 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -103,7 +103,6 @@ jobs: git rev-parse HEAD - name: Clone OpenVINO Contrib - if: ${{ inputs.build-contrib }} uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: repository: 'openvinotoolkit/openvino_contrib' From 39b9dd20f7980210ad8a55713efe0a3bd5eda38b Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 14:06:00 +0100 Subject: [PATCH 30/36] rm unnecessary packages --- .../ov_build/debian_10_arm/Dockerfile | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index e3f77546a71fa4..c014b3a1a1e75c 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update && \ apt-get install \ software-properties-common \ curl \ + wget \ git \ gpg-agent \ tzdata \ @@ -27,22 +28,8 @@ RUN apt-get update && \ libhdf5-dev \ # For building Python from source build-essential \ - libffi-dev \ - libgdbm-dev \ - libc6-dev \ - libssl-dev \ zlib1g-dev \ - libbz2-dev \ - libreadline-dev \ - libsqlite3-dev \ - libncurses5-dev \ - libncursesw5-dev \ - xz-utils \ - tk-dev \ - libxml2-dev \ - libxmlsec1-dev \ - liblzma-dev \ - wget \ + libssl-dev \ # Compilers gcc-arm-linux-gnueabihf \ g++-arm-linux-gnueabihf \ From 4092a388ce28d2e63d1b00369a6e1a8c2b06c3d1 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 15:10:08 +0100 Subject: [PATCH 31/36] cpplint --- .github/workflows/debian_10_arm.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index dab02b60435f07..9a38fe73297652 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -85,9 +85,11 @@ jobs: cmake-options: |- -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -DTHREADS_PTHREAD_ARG="-pthread" \ - -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_STRICT_DEPENDENCIES=OFF \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_NCC_STYLE=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DENABLE_CONFORMANCE_PGQL=ON \ -DENABLE_LTO=ON \ From a1cbbd57689f0f8eaeed52a76d5a44e8a63d22f1 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Tue, 27 Aug 2024 15:21:24 +0100 Subject: [PATCH 32/36] return packages --- .../ov_build/debian_10_arm/Dockerfile | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile index c014b3a1a1e75c..e3f77546a71fa4 100644 --- a/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile +++ b/.github/dockerfiles/ov_build/debian_10_arm/Dockerfile @@ -15,7 +15,6 @@ RUN apt-get update && \ apt-get install \ software-properties-common \ curl \ - wget \ git \ gpg-agent \ tzdata \ @@ -28,8 +27,22 @@ RUN apt-get update && \ libhdf5-dev \ # For building Python from source build-essential \ - zlib1g-dev \ + libffi-dev \ + libgdbm-dev \ + libc6-dev \ libssl-dev \ + zlib1g-dev \ + libbz2-dev \ + libreadline-dev \ + libsqlite3-dev \ + libncurses5-dev \ + libncursesw5-dev \ + xz-utils \ + tk-dev \ + libxml2-dev \ + libxmlsec1-dev \ + liblzma-dev \ + wget \ # Compilers gcc-arm-linux-gnueabihf \ g++-arm-linux-gnueabihf \ From e873a157818ba860cf80fc78d0dad4d02a8eface Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 28 Aug 2024 10:03:28 +0100 Subject: [PATCH 33/36] disable some builds for dpcpp --- .github/workflows/ubuntu_22_dpcpp.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ubuntu_22_dpcpp.yml b/.github/workflows/ubuntu_22_dpcpp.yml index 7a47ee5cc30e9d..bb4061dd7340a3 100644 --- a/.github/workflows/ubuntu_22_dpcpp.yml +++ b/.github/workflows/ubuntu_22_dpcpp.yml @@ -74,6 +74,9 @@ jobs: affected-components: ${{ needs.smart_ci.outputs.affected_components }} event-name: ${{ github.event_name }} os: 'ubuntu_22_04_dpcpp' + build-js: false + build-debian-packages: false + build-contrib: false cmake-options: |- -G "Ninja Multi-Config" \ -DENABLE_CPPLINT=OFF \ From 76f9802e1d36b3ce76669ef6cacf3c8c977dd3ea Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 28 Aug 2024 10:43:51 +0100 Subject: [PATCH 34/36] add arch to product type --- .github/workflows/job_build_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 3f92e8b3f5773e..3a2f219bb3492f 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -82,7 +82,7 @@ jobs: ONNX_RUNTIME_UTILS: /__w/openvino/openvino/openvino/src/frontends/onnx/tests/ci_utils/onnxruntime ARTIFACTS_SHARE: "/mount/build-artifacts" MANIFEST_PATH: '/__w/openvino/openvino/manifest.yml' - PRODUCT_TYPE: public_linux_${{ inputs.os }}_release + PRODUCT_TYPE: public_linux_${{ inputs.os }}_${{ inputs.arch }}_release steps: - name: Show cmake options run: echo "${{ inputs.cmake-options }}" From ef88aff424c3938773f7b5b695427eae6e7d5eb0 Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 28 Aug 2024 10:45:07 +0100 Subject: [PATCH 35/36] rm debug print --- .github/workflows/job_build_linux.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml index 3a2f219bb3492f..af85846259a308 100644 --- a/.github/workflows/job_build_linux.yml +++ b/.github/workflows/job_build_linux.yml @@ -84,9 +84,6 @@ jobs: MANIFEST_PATH: '/__w/openvino/openvino/manifest.yml' PRODUCT_TYPE: public_linux_${{ inputs.os }}_${{ inputs.arch }}_release steps: - - name: Show cmake options - run: echo "${{ inputs.cmake-options }}" - - name: Clone OpenVINO uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: From 764ca29b5dc6f72a68f52b6e9a86a42a964e2e4b Mon Sep 17 00:00:00 2001 From: Andrei Kashchikhin Date: Wed, 28 Aug 2024 10:45:51 +0100 Subject: [PATCH 36/36] rm comments --- .github/workflows/debian_10_arm.yml | 125 ---------------------------- 1 file changed, 125 deletions(-) diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml index 9a38fe73297652..72326f489ac648 100644 --- a/.github/workflows/debian_10_arm.yml +++ b/.github/workflows/debian_10_arm.yml @@ -96,131 +96,6 @@ jobs: -DENABLE_TESTS=ON \ -DENABLE_PYTHON=OFF -# Build: -# needs: [ Smart_CI, Docker ] -# timeout-minutes: 150 -# defaults: -# run: -# shell: bash -# runs-on: 'aks-linux-16-cores-arm' -# container: -# image: ${{ fromJSON(needs.docker.outputs.images).ov_build.debian_10 }} -# volumes: -# - /mount:/mount -# options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING -# env: -# CMAKE_BUILD_TYPE: 'Release' -# CMAKE_CXX_COMPILER_LAUNCHER: sccache -# CMAKE_C_COMPILER_LAUNCHER: sccache -# SCCACHE_IGNORE_SERVER_IO_ERROR: 1 -# SCCACHE_SERVER_PORT: 35555 -# SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt -# SCCACHE_LOG: warn -# 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: 'debian_10_arm_Release' -# if: "!needs.smart_ci.outputs.skip_workflow" -# -# steps: -# - name: Clone OpenVINO -# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 -# with: -# path: ${{ env.OPENVINO_REPO }} -# submodules: 'true' -# -# # -# # Print system info -# # -# -# - name: System info -# uses: ./openvino/.github/actions/system_info -# -# # -# # Dependencies -# # -# -# - name: Install python dependencies -# run: | -# python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements.txt -# python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/requirements_test.txt -# python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt -# -# # -# # Build -# # -# -# - name: CMake configure - OpenVINO -# run: | -# cmake \ -# -DCMAKE_TOOLCHAIN_FILE=${OPENVINO_REPO}/cmake/arm.toolchain.cmake \ -# -DTHREADS_PTHREAD_ARG="-pthread" \ -# -DCMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT=OFF \ -# -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ -# -DENABLE_STRICT_DEPENDENCIES=OFF \ -# -DCMAKE_VERBOSE_MAKEFILE=ON \ -# -DENABLE_CONFORMANCE_PGQL=ON \ -# -DENABLE_LTO=ON \ -# -DENABLE_TESTS=ON \ -# -DENABLE_PYTHON=OFF \ -# -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: Clean sccache stats -# run: ${SCCACHE_PATH} --zero-stats -# -# - name: Cmake build - OpenVINO -# run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} -# -# - 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 -# -# - 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 -# -# # -# # Upload build artifacts and logs -# # -# - name: Upload build logs -# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 -# if: always() -# with: -# name: build_logs -# path: ${{ env.SCCACHE_ERROR_LOG }} -# if-no-files-found: 'ignore' -# -# - name: Upload openvino package -# if: ${{ always() }} -# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 -# with: -# name: openvino_package -# path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz -# if-no-files-found: 'error' -# -# - name: Upload openvino tests package -# if: ${{ always() }} -# uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 -# with: -# name: openvino_tests -# path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz -# if-no-files-found: 'error' - Overall_Status: name: ci/gha_overall_status_debian_10_arm needs: [Smart_CI, Build]