From bc4af6d0b74bf0b85447c92ce101f8816b2e60c7 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sun, 14 Aug 2022 20:53:41 +0400 Subject: [PATCH 1/4] Cherry-pick U22 adoption in github actions --- .github/workflows/build_doc.yml | 10 +- .github/workflows/check_pr_commits.yml | 2 +- .github/workflows/code_style.yml | 8 +- .github/workflows/files_size.yml | 2 +- .github/workflows/mo.yml | 2 +- .github/workflows/py_checks.yml | 4 +- .../clang_format/clang_format.cmake | 11 +- .../ncc_naming_style/ncc_naming_style.cmake | 64 ++++++----- .../ncc_naming_style/requirements_dev.txt | 5 +- .../shellcheck/shellcheck.cmake | 13 ++- docs/requirements.txt | 2 +- install_build_dependencies.sh | 108 ++++++++---------- scripts/CMakeLists.txt | 37 +++--- .../myriad/run_tests_myriad_multistick.sh | 1 + 14 files changed, 142 insertions(+), 127 deletions(-) diff --git a/.github/workflows/build_doc.yml b/.github/workflows/build_doc.yml index dfe420cca94a1d..10666c9eaa1346 100644 --- a/.github/workflows/build_doc.yml +++ b/.github/workflows/build_doc.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: Build_Doc: if: github.repository == 'openvinotoolkit/openvino' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Clone OpenVINO uses: actions/checkout@v2 @@ -17,11 +17,11 @@ jobs: set -e # install doc dependencies sudo apt update - sudo apt --assume-yes install libusb-1.0-0-dev graphviz texlive + sudo apt --assume-yes install libusb-1.0-0-dev graphviz texlive liblua5.2-0 cd docs - python -m pip install -r requirements.txt --user + python3 -m pip install -r requirements.txt --user cd openvino_sphinx_theme - python setup.py install --user + python3 setup.py install --user cd ../.. # install doxyrest wget https://github.com/vovkos/doxyrest/releases/download/doxyrest-2.1.3/doxyrest-2.1.3-linux-amd64.tar.xz @@ -43,7 +43,7 @@ jobs: run: | mkdir build cd build - cmake -DENABLE_DOCS=ON -DENABLE_PYTHON=ON -DNGRAPH_PYTHON_BUILD_ENABLE=ON -DCMAKE_BUILD_TYPE=Release .. + cmake -DENABLE_DOCS=ON -DENABLE_PYTHON=ON -DCMAKE_BUILD_TYPE=Release .. - name: Build doc run: | diff --git a/.github/workflows/check_pr_commits.yml b/.github/workflows/check_pr_commits.yml index 8ba58b7fbb75d4..b70aeb90f739c7 100644 --- a/.github/workflows/check_pr_commits.yml +++ b/.github/workflows/check_pr_commits.yml @@ -3,7 +3,7 @@ on: [pull_request] jobs: Checks: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Clone OpenVINO uses: actions/checkout@v2 diff --git a/.github/workflows/code_style.yml b/.github/workflows/code_style.yml index 64f6d1c88762dd..3d0fc5d85b6f75 100644 --- a/.github/workflows/code_style.yml +++ b/.github/workflows/code_style.yml @@ -48,7 +48,7 @@ jobs: path: build/code_style_diff.diff ShellCheck: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 with: @@ -73,7 +73,7 @@ jobs: working-directory: build NamingConventionCheck: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 with: @@ -82,8 +82,8 @@ jobs: - name: Install Clang dependency run: | sudo apt update - sudo apt --assume-yes remove clang-7 clang-8 clang-9 clang-10 clang-11 - sudo apt --assume-yes install libclang-12-dev + sudo apt --assume-yes remove clang-7 clang-8 clang-9 clang-10 clang-11 clang-12 clang-13 + sudo apt --assume-yes install libclang-14-dev - name: Install Python-based dependencies run: python3 -m pip install -r cmake/developer_package/ncc_naming_style/requirements_dev.txt diff --git a/.github/workflows/files_size.yml b/.github/workflows/files_size.yml index 19953c6b2070cb..801211d6c03262 100644 --- a/.github/workflows/files_size.yml +++ b/.github/workflows/files_size.yml @@ -3,7 +3,7 @@ on: [push, pull_request] jobs: Check_Files_Size: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/mo.yml b/.github/workflows/mo.yml index 74ffa866299b88..8114a73ddfa0f0 100644 --- a/.github/workflows/mo.yml +++ b/.github/workflows/mo.yml @@ -9,7 +9,7 @@ on: jobs: Pylint-UT: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/py_checks.yml b/.github/workflows/py_checks.yml index 379492516e75ba..7a016f58056125 100644 --- a/.github/workflows/py_checks.yml +++ b/.github/workflows/py_checks.yml @@ -12,7 +12,7 @@ on: - 'samples/python/**' jobs: linters: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - name: Code checkout uses: actions/checkout@v2 @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.6' + python-version: '3.10' - name: Install dependencies run: python -m pip install -r src/bindings/python/requirements_test.txt # samples code-style diff --git a/cmake/developer_package/clang_format/clang_format.cmake b/cmake/developer_package/clang_format/clang_format.cmake index fb18fbe6dc88b6..eb05ba92b4fec7 100644 --- a/cmake/developer_package/clang_format/clang_format.cmake +++ b/cmake/developer_package/clang_format/clang_format.cmake @@ -28,7 +28,6 @@ if(ENABLE_CLANG_FORMAT AND NOT TARGET clang_format_check_all) add_custom_target(clang_format_fix_all) set_target_properties(clang_format_check_all clang_format_fix_all PROPERTIES FOLDER clang_format) - set(CLANG_FORMAT_ALL_OUTPUT_FILES "" CACHE INTERNAL "All clang-format output files") endif() function(add_clang_format_target TARGET_NAME) @@ -88,14 +87,10 @@ function(add_clang_format_target TARGET_NAME) "[clang-format] ${source_file}" VERBATIM) + list(APPEND all_input_sources "${source_file}") list(APPEND all_output_files "${output_file}") endforeach() - set(CLANG_FORMAT_ALL_OUTPUT_FILES - ${CLANG_FORMAT_ALL_OUTPUT_FILES} ${all_output_files} - CACHE INTERNAL - "All clang-format output files") - add_custom_target(${TARGET_NAME} DEPENDS ${all_output_files} COMMENT "[clang-format] ${TARGET_NAME}") @@ -104,11 +99,11 @@ function(add_clang_format_target TARGET_NAME) COMMAND "${CMAKE_COMMAND}" -D "CLANG_FORMAT=${CLANG_FORMAT}" - -D "INPUT_FILES=${CLANG_FORMAT_FOR_SOURCES}" + -D "INPUT_FILES=${all_input_sources}" -D "EXCLUDE_PATTERNS=${CLANG_FORMAT_EXCLUDE_PATTERNS}" -P "${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake" DEPENDS - "${CLANG_FORMAT_FOR_SOURCES}" + "${all_input_sources}" "${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake" COMMENT "[clang-format] ${TARGET_NAME}_fix" diff --git a/cmake/developer_package/ncc_naming_style/ncc_naming_style.cmake b/cmake/developer_package/ncc_naming_style/ncc_naming_style.cmake index c2da0f5a7327c6..29d0d4883f1abf 100644 --- a/cmake/developer_package/ncc_naming_style/ncc_naming_style.cmake +++ b/cmake/developer_package/ncc_naming_style/ncc_naming_style.cmake @@ -9,26 +9,46 @@ endif() set(ncc_style_dir "${IEDevScripts_DIR}/ncc_naming_style") set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style") -# try to find_package(Clang QUIET) -# ClangConfig.cmake contains bug that if libclang-XX-dev is not -# installed, then find_package fails with errors even in QUIET mode -configure_file("${ncc_style_dir}/try_find_clang.cmake" - "${ncc_style_bin_dir}/source/CMakeLists.txt" COPYONLY) -execute_process( - COMMAND - "${CMAKE_COMMAND}" -S "${ncc_style_bin_dir}/source" - -B "${ncc_style_bin_dir}/build" - RESULT_VARIABLE clang_find_result - OUTPUT_VARIABLE output_var - ERROR_VARIABLE error_var) - -if(NOT clang_find_result EQUAL "0") - message(WARNING "Please, install clang-[N] libclang-[N]-dev package (required for ncc naming style check)") - message(WARNING "find_package(Clang) output: ${output_var}") - message(WARNING "find_package(Clang) error: ${error_var}") +# find python3 + +find_package(PythonInterp 3 QUIET) +if(NOT PYTHONINTERP_FOUND) + message(WARNING "Python3 interpreter was not found (required for ncc naming style check)") set(ENABLE_NCC_STYLE OFF) endif() +if(PYTHON_VERSION_MINOR EQUAL 6) + set(clang_version 10) +elseif(PYTHON_VERSION_MINOR EQUAL 8) + set(clang_version 12) +elseif(PYTHON_VERSION_MINOR EQUAL 9) + set(clang_version 12) +elseif(PYTHON_VERSION_MINOR EQUAL 10) + set(clang_version 14) +endif() + + +if(ENABLE_NCC_STYLE) + # try to find_package(Clang QUIET) + # ClangConfig.cmake contains bug that if libclang-XX-dev is not + # installed, then find_package fails with errors even in QUIET mode + configure_file("${ncc_style_dir}/try_find_clang.cmake" + "${ncc_style_bin_dir}/source/CMakeLists.txt" COPYONLY) + execute_process( + COMMAND "${CMAKE_COMMAND}" -S "${ncc_style_bin_dir}/source" + -B "${ncc_style_bin_dir}/build" + RESULT_VARIABLE clang_find_result + OUTPUT_VARIABLE output_var + ERROR_VARIABLE error_var) + + if(NOT clang_find_result EQUAL "0") + message(WARNING "Please, install `apt-get install clang-${clang_version} libclang-${clang_version}-dev` package (required for ncc naming style check)") + message(TRACE "find_package(Clang) output: ${output_var}") + message(TRACE "find_package(Clang) error: ${error_var}") + set(ENABLE_NCC_STYLE OFF) + endif() +endif() + # Since we were able to find_package(Clang) in a separate process # let's try to find in current process if(ENABLE_NCC_STYLE) @@ -37,19 +57,11 @@ if(ENABLE_NCC_STYLE) get_target_property(libclang_location libclang LOCATION) message(STATUS "Found libclang: ${libclang_location}") else() - message(WARNING "libclang is not found (required for ncc naming style check)") + message(WARNING "libclang-${clang_version} is not found (required for ncc naming style check)") set(ENABLE_NCC_STYLE OFF) endif() endif() -# find python3 - -find_package(PythonInterp 3 QUIET) -if(NOT PYTHONINTERP_FOUND) - message(WARNING "Python3 interpreter was not found (required for ncc naming style check)") - set(ENABLE_NCC_STYLE OFF) -endif() - # check python requirements_dev.txt set(ncc_script_py "${ncc_style_dir}/ncc/ncc.py") diff --git a/cmake/developer_package/ncc_naming_style/requirements_dev.txt b/cmake/developer_package/ncc_naming_style/requirements_dev.txt index 7155e9e94e8859..23d8c568c8ffb1 100644 --- a/cmake/developer_package/ncc_naming_style/requirements_dev.txt +++ b/cmake/developer_package/ncc_naming_style/requirements_dev.txt @@ -1,2 +1,5 @@ -clang==11.0 +clang==10.0.1; python_version == '3.6' +clang==12.0.1; python_version == '3.8' +clang==12.0.1; python_version == '3.9' +clang==14.0; python_version == '3.10' pyyaml \ No newline at end of file diff --git a/cmake/developer_package/shellcheck/shellcheck.cmake b/cmake/developer_package/shellcheck/shellcheck.cmake index 17d4b1b66f25b1..63ba6d9d32f72c 100644 --- a/cmake/developer_package/shellcheck/shellcheck.cmake +++ b/cmake/developer_package/shellcheck/shellcheck.cmake @@ -6,6 +6,17 @@ include(CMakeParseArguments) find_host_program(shellcheck_PROGRAM NAMES shellcheck DOC "Path to shellcheck tool") +if(shellcheck_PROGRAM) + execute_process(COMMAND "${shellcheck_PROGRAM}" --version + RESULT_VARIABLE shellcheck_EXIT_CODE + OUTPUT_VARIABLE shellcheck_VERSION_STRING) + if(shellcheck_EXIT_CODE EQUAL 0) + if(shellcheck_VERSION_STRING MATCHES "version: ([0-9]+)\.([0-9]+).([0-9]+)") + set(shellcheck_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}" CACHE STRING "shellcheck version") + endif() + endif() +endif() + function(ie_shellcheck_process) if(NOT shellcheck_PROGRAM) message(WARNING "shellcheck tool is not found") @@ -33,7 +44,7 @@ function(ie_shellcheck_process) set(output_file "${output_file}.txt") get_filename_component(script_name "${script}" NAME) - add_custom_command(OUTPUT ${output_file} + add_custom_command(OUTPUT ${output_file} COMMAND ${CMAKE_COMMAND} -D IE_SHELLCHECK_PROGRAM=${shellcheck_PROGRAM} -D IE_SHELL_SCRIPT=${script} diff --git a/docs/requirements.txt b/docs/requirements.txt index fdfeb0c7bac0e1..45b5b70d376330 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -21,7 +21,7 @@ py==1.10.0 pydata-sphinx-theme==0.7.2 Pygments==2.8.1 pyparsing==2.4.7 -pytest==6.2.3 +pytest==6.2.5 pytest-html==3.1.1 pytest-metadata==1.11.0 pytz==2021.1 diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index f5ff61ffb5b2da..9f6d054e20cc10 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -24,9 +24,9 @@ if [ -f /etc/lsb-release ]; then # Ubuntu host_cpu=$(uname -m) if [ "$host_cpu" = "x86_64" ]; then - x86_64_specific_packages="gcc-multilib g++-multilib" + x86_64_specific_packages=(gcc-multilib g++-multilib) else - x86_64_specific_packages="" + x86_64_specific_packages=() fi sudo -E apt update @@ -40,45 +40,50 @@ if [ -f /etc/lsb-release ]; then ca-certificates \ git \ git-lfs \ - libboost-regex-dev \ - $x86_64_specific_packages \ + "${x86_64_specific_packages[@]}" \ libgtk2.0-dev \ - pkg-config \ - libgflags-dev \ - zlib1g-dev \ unzip \ - automake \ - libtool \ - autoconf \ shellcheck \ patchelf \ - libenchant1c2a \ + `# openvino` \ + libtbb-dev \ + libpugixml-dev \ + `# python` \ python3-pip \ python3-enchant \ python3-setuptools \ - libcairo2-dev \ - libpango1.0-dev \ - libglib2.0-dev \ - libgtk2.0-dev \ - libswscale-dev \ - libavcodec-dev \ - libavformat-dev \ - libgstreamer1.0-0 \ - gstreamer1.0-plugins-base \ + libpython3-dev \ + `# samples` \ + pkg-config \ + libgflags-dev \ + zlib1g-dev \ + `# hddl` \ + libudev1 \ + libusb-1.0-0 \ + `# myriad` \ libusb-1.0-0-dev \ - libtbb-dev \ - libtinfo5 \ - libopenblas-dev - if apt-cache search --names-only '^libjson-c2'| grep -q libjson-c2; then - sudo -E apt-get install -y libjson-c2 - else - sudo -E apt-get install -y libjson-c3 + `# cl_compiler` \ + libtinfo5 + # hddl + if apt-cache search --names-only '^libjson-c3'| grep -q libjson-c3; then + # ubuntu 18.04 + sudo -E apt-get install -y \ + libjson-c3 \ + libboost-filesystem1.65.1 \ + libboost-program-options1.65.1 \ + libboost-system1.65.1 + elif apt-cache search --names-only '^libjson-c4'| grep -q libjson-c4; then + # ubuntu 20.04 + sudo -E apt-get install -y \ + libjson-c4 \ + libboost-filesystem1.71.0 \ + libboost-program-options1.71.0 fi - if apt-cache search --names-only '^libpng12-dev'| grep -q libpng12; then - sudo -E apt-get install -y libpng12-dev - else - sudo -E apt-get install -y libpng-dev + # for python3-enchant + if apt-cache search --names-only 'libenchant1c2a'| grep -q libenchant1c2a; then + sudo -E apt-get install -y libenchant1c2a fi + # samples if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then sudo -E apt-get install -y nlohmann-json3-dev else @@ -104,7 +109,6 @@ elif [ -f /etc/redhat-release ]; then gcc \ gcc-c++ \ make \ - patchelf \ pkg-config \ gflags-devel.i686 \ zlib-devel.i686 \ @@ -155,47 +159,27 @@ elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then sudo -E apt update sudo -E apt-get install -y \ build-essential \ - curl \ wget \ libssl-dev \ ca-certificates \ git \ - libboost-regex-dev \ - libgtk2.0-dev \ pkg-config \ libgflags-dev \ zlib1g-dev \ nlohmann-json-dev \ unzip \ - automake \ - libtool \ - autoconf \ - libcairo2-dev \ - libpango1.0-dev \ - libglib2.0-dev \ - libgtk2.0-dev \ - libswscale-dev \ - libavcodec-dev \ - libavformat-dev \ - libgstreamer1.0-0 \ - gstreamer1.0-plugins-base \ - libusb-1.0-0-dev \ - libopenblas-dev - if apt-cache search --names-only '^libpng12-dev'| grep -q libpng12; then - sudo -E apt-get install -y libpng12-dev - else - sudo -E apt-get install -y libpng-dev - fi + libusb-1.0-0-dev else echo "Unknown OS, please install build dependencies manually" fi -# cmake 3.13 or higher is required to build OpenVINO -current_cmake_version=$(cmake --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') -required_cmake_ver=3.17 -if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_version" | sort -V | head -n1)" = "$required_cmake_ver" ]; then - wget "https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz" - tar xf cmake-3.18.4.tar.gz - (cd cmake-3.18.4 && ./bootstrap --parallel="$(nproc --all)" && make --jobs="$(nproc --all)" && sudo make install) - rm -rf cmake-3.18.4 cmake-3.18.4.tar.gz +# cmake 3.20 or higher is required to build OpenVINO +current_cmake_ver=$(cmake --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') +required_cmake_ver=3.20.0 +if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_ver" | sort -V | head -n1)" = "$required_cmake_ver" ]; then + installed_cmake_ver=3.23.2 + wget "https://github.com/Kitware/CMake/releases/download/v${installed_cmake_ver}/cmake-${installed_cmake_ver}.tar.gz" + tar xf cmake-${installed_cmake_ver}.tar.gz + (cd cmake-${installed_cmake_ver} && ./bootstrap --parallel="$(nproc --all)" && make --jobs="$(nproc --all)" && sudo make install) + rm -rf cmake-${installed_cmake_ver} cmake-${installed_cmake_ver}.tar.gz fi diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 689ed60219f34c..4e9f76638fc0e1 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -6,21 +6,30 @@ # Shellcheck # +set(shellcheck_skip_list + "${OpenVINO_SOURCE_DIR}/bin" + "${OpenVINO_SOURCE_DIR}/build" + "${OpenVINO_SOURCE_DIR}/thirdparty" + "${OpenVINO_SOURCE_DIR}/src/plugins/intel_cpu/thirdparty" + "${OpenVINO_SOURCE_DIR}/src/plugins/intel_gpu/thirdparty" + "${OpenVINO_SOURCE_DIR}/src/bindings/python/thirdparty/pybind11" + "${OpenVINO_SOURCE_DIR}/tools/pot/thirdparty" + "${TEMP}") + +# TODO fix and enable back +list(APPEND shellcheck_skip_list + "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_NEO_OCL_driver.sh" + "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh" + "${OpenVINO_SOURCE_DIR}/src/bindings/python/tests/test_onnx/model_zoo_preprocess.sh" + "${OpenVINO_SOURCE_DIR}/src/bindings/python/tests_compatibility/test_onnx/model_zoo_preprocess.sh") + +if(shellcheck_VERSION VERSION_GREATER_EQUAL 0.7.0) + list(APPEND shellcheck_skip_list + "${OpenVINO_SOURCE_DIR}/scripts/setupvars/setupvars.sh") +endif() + ie_shellcheck_process(DIRECTORY "${OpenVINO_SOURCE_DIR}" - SKIP "${OpenVINO_SOURCE_DIR}/bin" - "${OpenVINO_SOURCE_DIR}/build" - "${OpenVINO_SOURCE_DIR}/thirdparty" - "${OpenVINO_SOURCE_DIR}/src/plugins/intel_cpu/thirdparty" - "${OpenVINO_SOURCE_DIR}/src/plugins/intel_gpu/thirdparty" - "${OpenVINO_SOURCE_DIR}/src/bindings/python/thirdparty/pybind11" - "${OpenVINO_SOURCE_DIR}/tools/pot/thirdparty" - "${TEMP}" - # TODO fix and enable back: - "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_NEO_OCL_driver.sh" - "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh" - "${OpenVINO_SOURCE_DIR}/src/bindings/python/tests/test_onnx/model_zoo_preprocess.sh" - "${OpenVINO_SOURCE_DIR}/src/bindings/python/tests_compatibility/test_onnx/model_zoo_preprocess.sh" - ) + SKIP ${shellcheck_skip_list}) # # cpack diff --git a/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh b/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh index 118b26ba2d9bce..fb6182230d2411 100755 --- a/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh +++ b/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh @@ -18,6 +18,7 @@ if [[ -n "$2" ]]; then else # Windows default if [[ -f "${TEST_DIR}/${APP_NAME}" ]]; then + # shellcheck disable=SC2269 TEST_DIR=${TEST_DIR} # Search for Release or Debug config elif [[ -f "${TEST_DIR}/Release/${APP_NAME}" ]]; then From d3dee53e1f8cd79bbfcf6a4d4fc7e589e3993579 Mon Sep 17 00:00:00 2001 From: akladiev Date: Mon, 22 Aug 2022 20:10:20 +0200 Subject: [PATCH 2/4] More fixes for shellcheck --- samples/cpp/build_samples.sh | 2 +- scripts/install_dependencies/install_NCS_udev_rules.sh | 2 +- scripts/setupvars/setupvars.sh | 2 +- .../functional/plugin/myriad/run_tests_myriad_multistick.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/cpp/build_samples.sh b/samples/cpp/build_samples.sh index e51c4e76ead6a0..d16430b495f07a 100755 --- a/samples/cpp/build_samples.sh +++ b/samples/cpp/build_samples.sh @@ -65,7 +65,7 @@ if [ -z "$INTEL_OPENVINO_DIR" ]; then fi source "$setvars_path" || true else - # case for run with `sudo -E` + # case for run with `sudo -E` source "$INTEL_OPENVINO_DIR/setupvars.sh" || true fi diff --git a/scripts/install_dependencies/install_NCS_udev_rules.sh b/scripts/install_dependencies/install_NCS_udev_rules.sh index ea3dff3c1bda21..decf175757df19 100755 --- a/scripts/install_dependencies/install_NCS_udev_rules.sh +++ b/scripts/install_dependencies/install_NCS_udev_rules.sh @@ -17,5 +17,5 @@ if [ -f "$SCRIPT_DIR/97-myriad-usbboot.rules" ]; then echo "Udev rules have been successfully installed." else echo "File '97-myriad-usbboot.rules' is missing. Please make sure you installed 'Inference Engine Runtime for Intel® Movidius™ VPU'." - exit -1 + exit 1 fi diff --git a/scripts/setupvars/setupvars.sh b/scripts/setupvars/setupvars.sh index 9abd99236ad523..451c51fabe5bec 100755 --- a/scripts/setupvars/setupvars.sh +++ b/scripts/setupvars/setupvars.sh @@ -95,7 +95,7 @@ if [ -z "$python_version" ]; then python_version=$(python3 -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))') fi -# splitting Python version variable depending on the used shell +# splitting Python version variable depending on the used shell if [ -n "$ZSH_VERSION" ]; then version_arr=(${(@s:.:)python_version}) if [ "${#version_arr[@]}" -ge "2" ]; then diff --git a/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh b/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh index fb6182230d2411..37d50bdb968782 100755 --- a/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh +++ b/src/tests/functional/plugin/myriad/run_tests_myriad_multistick.sh @@ -27,7 +27,7 @@ else TEST_DIR="$TEST_DIR/Debug/" else echo "Directory with binaries not found!" - exit -1 + exit 1 fi fi From 37d5d4d755ab86e6f4f1a76b0aac5da0aeece5f6 Mon Sep 17 00:00:00 2001 From: akladiev Date: Mon, 22 Aug 2022 20:26:52 +0200 Subject: [PATCH 3/4] More fixes for shellcheck --- install_build_dependencies.sh | 102 ++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 43 deletions(-) diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index 9f6d054e20cc10..552314430ba487 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -40,50 +40,45 @@ if [ -f /etc/lsb-release ]; then ca-certificates \ git \ git-lfs \ + libboost-regex-dev \ "${x86_64_specific_packages[@]}" \ libgtk2.0-dev \ + pkg-config \ + libgflags-dev \ + zlib1g-dev \ unzip \ + automake \ + libtool \ + autoconf \ shellcheck \ patchelf \ - `# openvino` \ - libtbb-dev \ - libpugixml-dev \ - `# python` \ + libenchant1c2a \ python3-pip \ python3-enchant \ python3-setuptools \ - libpython3-dev \ - `# samples` \ - pkg-config \ - libgflags-dev \ - zlib1g-dev \ - `# hddl` \ - libudev1 \ - libusb-1.0-0 \ - `# myriad` \ + libcairo2-dev \ + libpango1.0-dev \ + libglib2.0-dev \ + libgtk2.0-dev \ + libswscale-dev \ + libavcodec-dev \ + libavformat-dev \ + libgstreamer1.0-0 \ + gstreamer1.0-plugins-base \ libusb-1.0-0-dev \ - `# cl_compiler` \ - libtinfo5 - # hddl - if apt-cache search --names-only '^libjson-c3'| grep -q libjson-c3; then - # ubuntu 18.04 - sudo -E apt-get install -y \ - libjson-c3 \ - libboost-filesystem1.65.1 \ - libboost-program-options1.65.1 \ - libboost-system1.65.1 - elif apt-cache search --names-only '^libjson-c4'| grep -q libjson-c4; then - # ubuntu 20.04 - sudo -E apt-get install -y \ - libjson-c4 \ - libboost-filesystem1.71.0 \ - libboost-program-options1.71.0 + libtbb-dev \ + libtinfo5 \ + libopenblas-dev + if apt-cache search --names-only '^libjson-c2'| grep -q libjson-c2; then + sudo -E apt-get install -y libjson-c2 + else + sudo -E apt-get install -y libjson-c3 fi - # for python3-enchant - if apt-cache search --names-only 'libenchant1c2a'| grep -q libenchant1c2a; then - sudo -E apt-get install -y libenchant1c2a + if apt-cache search --names-only '^libpng12-dev'| grep -q libpng12; then + sudo -E apt-get install -y libpng12-dev + else + sudo -E apt-get install -y libpng-dev fi - # samples if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then sudo -E apt-get install -y nlohmann-json3-dev else @@ -109,6 +104,7 @@ elif [ -f /etc/redhat-release ]; then gcc \ gcc-c++ \ make \ + patchelf \ pkg-config \ gflags-devel.i686 \ zlib-devel.i686 \ @@ -159,27 +155,47 @@ elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then sudo -E apt update sudo -E apt-get install -y \ build-essential \ + curl \ wget \ libssl-dev \ ca-certificates \ git \ + libboost-regex-dev \ + libgtk2.0-dev \ pkg-config \ libgflags-dev \ zlib1g-dev \ nlohmann-json-dev \ unzip \ - libusb-1.0-0-dev + automake \ + libtool \ + autoconf \ + libcairo2-dev \ + libpango1.0-dev \ + libglib2.0-dev \ + libgtk2.0-dev \ + libswscale-dev \ + libavcodec-dev \ + libavformat-dev \ + libgstreamer1.0-0 \ + gstreamer1.0-plugins-base \ + libusb-1.0-0-dev \ + libopenblas-dev + if apt-cache search --names-only '^libpng12-dev'| grep -q libpng12; then + sudo -E apt-get install -y libpng12-dev + else + sudo -E apt-get install -y libpng-dev + fi else echo "Unknown OS, please install build dependencies manually" fi -# cmake 3.20 or higher is required to build OpenVINO -current_cmake_ver=$(cmake --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') -required_cmake_ver=3.20.0 -if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_ver" | sort -V | head -n1)" = "$required_cmake_ver" ]; then - installed_cmake_ver=3.23.2 - wget "https://github.com/Kitware/CMake/releases/download/v${installed_cmake_ver}/cmake-${installed_cmake_ver}.tar.gz" - tar xf cmake-${installed_cmake_ver}.tar.gz - (cd cmake-${installed_cmake_ver} && ./bootstrap --parallel="$(nproc --all)" && make --jobs="$(nproc --all)" && sudo make install) - rm -rf cmake-${installed_cmake_ver} cmake-${installed_cmake_ver}.tar.gz +# cmake 3.13 or higher is required to build OpenVINO +current_cmake_version=$(cmake --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p') +required_cmake_ver=3.17 +if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_version" | sort -V | head -n1)" = "$required_cmake_ver" ]; then + wget "https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz" + tar xf cmake-3.18.4.tar.gz + (cd cmake-3.18.4 && ./bootstrap --parallel="$(nproc --all)" && make --jobs="$(nproc --all)" && sudo make install) + rm -rf cmake-3.18.4 cmake-3.18.4.tar.gz fi From eab85b646add849cbca41de1692e76ebad9ebc48 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 22 Aug 2022 23:07:26 +0400 Subject: [PATCH 4/4] Update .github/workflows/py_checks.yml --- .github/workflows/py_checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/py_checks.yml b/.github/workflows/py_checks.yml index 7a016f58056125..faa04cf78684ec 100644 --- a/.github/workflows/py_checks.yml +++ b/.github/workflows/py_checks.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.10' + python-version: '3.6' - name: Install dependencies run: python -m pip install -r src/bindings/python/requirements_test.txt # samples code-style