diff --git a/cmake/developer_package/version.cmake b/cmake/developer_package/version.cmake index 8567fde76ad..8eec6b4e9fb 100644 --- a/cmake/developer_package/version.cmake +++ b/cmake/developer_package/version.cmake @@ -19,7 +19,7 @@ function (commitHash VAR) message(FATAL_ERROR "repo_root is not defined") endif() execute_process( - COMMAND git rev-parse HEAD + COMMAND git rev-parse --short=11 HEAD WORKING_DIRECTORY ${repo_root} OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -28,13 +28,19 @@ endfunction() macro(ov_parse_ci_build_number) set(OpenVINO_VERSION_BUILD 000) - set(IE_VERSION_BUILD ${OpenVINO_VERSION_BUILD}) if(CI_BUILD_NUMBER MATCHES "^([0-9]+)\.([0-9]+)\.([0-9]+)\-([0-9]+)\-.*") set(OpenVINO_VERSION_MAJOR ${CMAKE_MATCH_1}) set(OpenVINO_VERSION_MINOR ${CMAKE_MATCH_2}) set(OpenVINO_VERSION_PATCH ${CMAKE_MATCH_3}) set(OpenVINO_VERSION_BUILD ${CMAKE_MATCH_4}) + set(the_whole_version_is_defined_by_ci ON) + elseif(CI_BUILD_NUMBER MATCHES "^[0-9]+$") + set(OpenVINO_VERSION_BUILD ${CI_BUILD_NUMBER}) + # only build number is defined by CI + set(the_whole_version_is_defined_by_ci OFF) + elseif(CI_BUILD_NUMBER) + message(FATAL_ERROR "Failed to parse CI_BUILD_NUMBER which is ${CI_BUILD_NUMBER}") endif() if(NOT DEFINED repo_root) @@ -95,21 +101,33 @@ macro(ov_parse_ci_build_number) set(OpenVINO_VERSION "${OpenVINO_VERSION_MAJOR}.${OpenVINO_VERSION_MINOR}.${OpenVINO_VERSION_PATCH}") message(STATUS "OpenVINO version is ${OpenVINO_VERSION} (Build ${OpenVINO_VERSION_BUILD})") + + if(NOT the_whole_version_is_defined_by_ci) + # create CI_BUILD_NUMBER + + branchName(GIT_BRANCH) + commitHash(GIT_COMMIT_HASH) + + if(NOT GIT_BRANCH STREQUAL "master") + set(GIT_BRANCH_POSTFIX "-${GIT_BRANCH}") + endif() + + set(CI_BUILD_NUMBER "${OpenVINO_VERSION}-${OpenVINO_VERSION_BUILD}-${GIT_COMMIT_HASH}${GIT_BRANCH_POSTFIX}") + + unset(GIT_BRANCH_POSTFIX) + unset(GIT_BRANCH) + unset(GIT_COMMIT_HASH) + else() + unset(the_whole_version_is_defined_by_ci) + endif() endmacro() -if (DEFINED ENV{CI_BUILD_NUMBER}) - set(CI_BUILD_NUMBER $ENV{CI_BUILD_NUMBER}) -else() - branchName(GIT_BRANCH) - commitHash(GIT_COMMIT_HASH) - - set(custom_build "custom_${GIT_BRANCH}_${GIT_COMMIT_HASH}") - set(CI_BUILD_NUMBER "${custom_build}") -endif() - # provides OpenVINO version # 1. If CI_BUILD_NUMBER is defined, parses this information # 2. Otherwise, parses openvino/core/version.hpp +if (DEFINED ENV{CI_BUILD_NUMBER}) + set(CI_BUILD_NUMBER $ENV{CI_BUILD_NUMBER}) +endif() ov_parse_ci_build_number() macro (addVersionDefines FILE)