diff --git a/.github/actions/common/artifact_utils.py b/.github/actions/common/artifact_utils.py
index b5e95c65d5234b..58c96fbe5dedd6 100644
--- a/.github/actions/common/artifact_utils.py
+++ b/.github/actions/common/artifact_utils.py
@@ -3,7 +3,7 @@
import argparse
import os
from pathlib import Path
-from .constants import EventType, ProductType
+from .constants import EventType, ProductType, PlatformKey
def add_common_args(parser: argparse.ArgumentParser):
@@ -12,10 +12,14 @@ def add_common_args(parser: argparse.ArgumentParser):
default=os.getenv('GITHUB_BASE_REF') or os.getenv('GITHUB_REF_NAME'))
parser.add_argument('-e', '--event_name', help='Name of GitHub event', required=False,
default=os.getenv('GITHUB_EVENT_NAME'))
- parser.add_argument('--storage_dir', help='Subdirectory name for artifacts, same as product type', required=True,
- choices=[product_type.value for product_type in ProductType])
parser.add_argument('--storage_root', help='Root path of the artifacts storage', required=False,
default=os.getenv('ARTIFACTS_SHARE'))
+ group = parser.add_mutually_exclusive_group(required=True)
+ group.add_argument('-d', '--storage_dir', help='Subdirectory name for artifacts, same as product type',
+ choices=[platform_key.value for platform_key in ProductType])
+ group.add_argument('-p', '--platform', type=str,
+ help='Platform for which to restore artifacts. Used if storage_dir is not set',
+ choices=[product_type.value for product_type in PlatformKey])
def get_event_type(event_name: str = os.getenv('GITHUB_EVENT_NAME')) -> str:
diff --git a/.github/actions/common/constants.py b/.github/actions/common/constants.py
index 01b705f137556e..da55ece2ee4258 100644
--- a/.github/actions/common/constants.py
+++ b/.github/actions/common/constants.py
@@ -18,3 +18,27 @@ class EventType(Enum):
'public_windows_vs2019_Debug',
)
ProductType = Enum('ProductType', {t.upper(): t for t in productTypes})
+
+
+platformKeys = (
+ 'centos7_x86_64',
+ 'debian10_armhf',
+ 'rhel8_x86_64',
+ 'ubuntu20_arm64',
+ 'ubuntu20_x86_64',
+ 'ubuntu22_x86_64',
+ 'ubuntu24_x86_64',
+ 'macos_12_6_arm64',
+ 'macos_12_6_x86_64',
+ 'windows_x86_64',
+)
+PlatformKey = Enum('PlatformKey', {t.upper(): t for t in platformKeys})
+
+PlatformMapping = {
+ PlatformKey.DEBIAN10_ARMHF: ProductType.PUBLIC_LINUX_DEBIAN_10_ARM_RELEASE,
+ PlatformKey.UBUNTU20_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_20_04_X86_64_RELEASE,
+ PlatformKey.UBUNTU20_ARM64: ProductType.PUBLIC_LINUX_UBUNTU_20_04_ARM64_RELEASE,
+ PlatformKey.UBUNTU22_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_22_04_X86_64_RELEASE,
+ PlatformKey.UBUNTU24_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_24_04_X86_64_RELEASE,
+ PlatformKey.WINDOWS_X86_64: ProductType.PUBLIC_WINDOWS_VS2019_RELEASE,
+}
diff --git a/.github/actions/openvino_provider/action.yml b/.github/actions/openvino_provider/action.yml
index 85c304f43d92ad..8cc865c5f5b461 100644
--- a/.github/actions/openvino_provider/action.yml
+++ b/.github/actions/openvino_provider/action.yml
@@ -2,7 +2,8 @@ name: 'OpenVINO provider'
description: 'Provides OpenVINO build artifacts from a requested source'
inputs:
revision:
- description: 'Version of OpenVINO to provide - latest_available | HEAD | specific commit hash'
+ description: 'Version of OpenVINO to provide - latest_available_commit | HEAD | specific commit hash |
+ latest_nightly | specific package version (e.g. 2024.4.0rc2)'
required: true
branch_name:
description: 'Branch of OpenVINO to take the revision from if no specific hash was provided.
@@ -11,21 +12,25 @@ inputs:
ov_artifact_name:
description: "Name under which to upload provided OpenVINO build artifacts, set automatically by default"
required: false
+ platform:
+ description: "Platform for which to get artifacts: centos7 | debian10 | rhel8 | ubuntu20 |
+ ubuntu20 | ubuntu22 | ubuntu24 | macos | macos_12_6 | windows"
+ required: false
+ arch:
+ description: "Architecture for which to get artifacts: x86_64 | armhf | arm64"
+ default: "x86_64"
+ required: false
+ install_dir:
+ description: 'Local path to install OpenVINO package to. If not specified, package is installed to GitHub workspace
+ and uploaded to GitHub'
+ required: false
commit_packages_to_provide:
description: "Comma-separated list of OpenVINO packages from post-commit to provide ('all' to get everything)"
required: false
- commit_build_key:
- description: 'public_linux_ubuntu_20_04_release | public_linux_ubuntu_22_04_release |
- public_linux_ubuntu_24_04_release | public_windows_vs2019_release'
- required: false
commit_share_path:
description: 'Path to share holding OpenVINO post-commit artifacts'
required: false
default: '/mount/build-artifacts'
- nightly_build_key:
- description: 'centos7_x86_64 | debian9_armhf | rhel8_x86_64 | ubuntu20_arm64 | ubuntu20_x86_64 | ubuntu22_x86_64 |
- ubuntu24_x86_64 | macos_12_6_arm64 | macos_12_6_x86_64 | windows_x86_64'
- required: false
nightly_package_source:
description: 'Source URL hosting OpenVINO nightly archives'
required: false
@@ -34,40 +39,44 @@ inputs:
description: 'Source URL hosting OpenVINO wheels, for passing to pip as --extra-index-url'
required: false
default: 'https://storage.openvinotoolkit.org/simple/wheels'
- package_url:
- description: 'Direct URL to OpenVINO archive to use, if neither post-commit nor nightly archives are required'
- required: false
+
outputs:
ov_artifact_name:
description: "Name of the artifact to upload OpenVINO build artifacts under"
- value: ${{ steps.openvino_download.outputs.ov_artifact_name || steps.openvino_commit_output.outputs.ov_artifact_name }}
- ov_package_path:
- description: "Path to OpenVINO core package relative to the root of uploaded artifacts"
- value: ${{ steps.openvino_download.outputs.ov_package_path || steps.openvino_commit_output.outputs.ov_package_path }}
- ov_wheel_input:
- description: "Input for pip to install OpenVINO python wheel"
- value: ${{ steps.openvino_wheel.outputs.ov_wheel_input || steps.openvino_commit_wheel.outputs.ov_wheel_input }}
+ value: ${{ steps.openvino_s3_download.outputs.ov_artifact_name || steps.openvino_commit_output.outputs.ov_artifact_name }}
ov_wheel_source:
description: "Pip option for custom OV wheel location (--find-links or --extra-index-url)"
- value: ${{ steps.openvino_wheel.outputs.ov_wheel_source || steps.openvino_commit_wheel.outputs.ov_wheel_source }}
+ value: ${{ steps.openvino_s3_wheel.outputs.ov_wheel_source || steps.openvino_commit_wheel.outputs.ov_wheel_source }}
+ ov_version:
+ description: "OpenVINO product version"
+ value: ${{ steps.openvino_s3_wheel.outputs.ov_version || steps.openvino_commit_wheel.outputs.ov_version }}
runs:
using: "composite"
steps:
- - name: Verify parameters
- if: ${{ !inputs.package_url && !inputs.nightly_build_key && !inputs.commit_build_key }}
+ - name: Identify artifacts source
+ id: get_source
shell: bash
run: |
- echo "Please, set one parameter for action - nightly_build_key, commit_build_key or package_url"
- exit 1
+ artifacts_source="postcommit"
+ if [[ "${{ inputs.revision }}" == "latest_nightly" || "${{ inputs.revision }}" =~ ^[0-9]{4}\.[0-9]+\.*[0-9]* ]]; then
+ artifacts_source="s3"
+ fi
+ echo "artifacts_source=$artifacts_source" >> $GITHUB_OUTPUT
+
+ - name: Get action revision
+ id: get_action_revision
+ run: echo "action_ref=${{ env.ACTION_REF }}" >> $GITHUB_OUTPUT
+ shell: bash
+ env:
+ ACTION_REF: ${{ github.action_ref || github.base_ref || github.event.merge_group.base_ref || github.ref }}
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
repository: 'openvinotoolkit/openvino'
- ref: ${{ inputs.branch_name || github.base_ref || github.event.merge_group.base_ref || github.ref }}
+ ref: ${{ steps.get_action_revision.outputs.action_ref }}
sparse-checkout: .github/actions
- # --- Post-commit case ---
- name: Clone OpenVINO to get HEAD commit
if: inputs.revision == 'HEAD'
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -84,18 +93,25 @@ runs:
head=$(git -C openvino rev-parse HEAD)
echo "head=$head" >> $GITHUB_OUTPUT
+ - name: Create install dir
+ if: inputs.install_dir
+ shell: bash
+ run: |
+ mkdir -p ${{ inputs.install_dir }}
+
+ # --- Post-commit case ---
- name: Download post-commit OpenVINO archives
id: openvino_commit_download
- if: inputs.commit_build_key
+ if: steps.get_source.outputs.artifacts_source == 'postcommit'
uses: ./.github/actions/restore_artifacts
with:
- storage_dir: ${{ inputs.commit_build_key }}
+ platform: ${{ inputs.platform }}_${{ inputs.arch }}
storage_root: ${{ inputs.commit_share_path }}
event_name: "commit"
trigger_repo_sha: ${{ env.OV_REVISION }}
branch_name: ${{ inputs.branch_name }}
- artifacts_key: ${{ inputs.ov_artifact_name || inputs.commit_build_key }}
to_restore: ${{ inputs.commit_packages_to_provide }}
+ target_dir: ${{ inputs.install_dir }}
env:
OV_REVISION: ${{ inputs.revision == 'HEAD' && steps.get_openvino_head_commit.outputs.head || inputs.revision }}
@@ -104,79 +120,98 @@ runs:
if: steps.openvino_commit_download.outcome == 'success'
shell: bash
run: |
- ov_artifact_name=${{ inputs.ov_artifact_name || steps.openvino_commit_download.outputs.restored_artifacts_key }}
- cd ${{ steps.openvino_commit_download.outputs.artifacts_workspace_path }}
+ ov_artifact_name=${{ inputs.ov_artifact_name || inputs.platform }}
+ workspace_path=${{ steps.openvino_commit_download.outputs.artifacts_path }}
+ cd $workspace_path
ov_package_path=$(find . -name 'openvino_package*' -printf "%P\n" -quit)
[ -z "$ov_package_path" ] && echo "No openvino_package found in restored artifacts" && exit 1
+ mv $ov_package_path/* . && rm -rf $ov_package_path
echo "ov_artifact_name=$ov_artifact_name" >> $GITHUB_OUTPUT
- echo "ov_package_path=$ov_package_path" >> $GITHUB_OUTPUT
+ echo "ov_package_path=$workspace_path" >> $GITHUB_OUTPUT
- name: Get commit wheel
id: openvino_commit_wheel
if: steps.openvino_commit_download.outcome == 'success'
shell: bash
run: |
- cd ${{ steps.openvino_commit_download.outputs.artifacts_workspace_path }}
+ artifacts_path=${{ steps.openvino_commit_download.outputs.artifacts_path }}
+ cd $artifacts_path
version=$(yq eval '.components.dldt.custom_params.wheel_product_version' manifest.yml)
- wheel_path=${{ steps.openvino_commit_output.outputs.ov_package_path }}/tools
- default_find_links_cmd="--find-links=./$wheel_path"
+ wheel_path=${{ inputs.install_dir && '$artifacts_path/tools' || './tools' }}
+ default_find_links_cmd="--find-links=$wheel_path"
find_links_cmd=$([[ -n "$PIP_FIND_LINKS" ]] && echo "" || echo "$default_find_links_cmd")
- wheel_input="$find_links_cmd openvino==$version"
- echo "ov_wheel_input=$wheel_input" >> $GITHUB_OUTPUT
+ echo "ov_version=$version" >> $GITHUB_OUTPUT
echo "ov_wheel_source=$default_find_links_cmd" >> $GITHUB_OUTPUT
+ - name: Upload commit OpenVINO archives
+ if: steps.openvino_commit_download.outcome == 'success' && !inputs.install_dir
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ steps.openvino_commit_output.outputs.ov_artifact_name }}
+ path: ${{ steps.openvino_commit_output.outputs.ov_package_path }}
+ if-no-files-found: 'error'
- # --- S3 case (nightly or direct URL) ---
- - name: Verify parameters
- if: (inputs.nightly_build_key || inputs.package_url) && inputs.revision != 'latest_available'
+ # --- S3 case ---
+ - name: Get a specific S3 package URL
+ id: get_s3_package
+ if: steps.get_source.outputs.artifacts_source == 's3' && inputs.revision != 'latest_nightly'
shell: bash
- run: |
- echo "Nightly and package_url build sources provide only 'latest' artifacts, specific revision not supported"
- exit 1
+ run: >-
+ python3 -m venv venv && . venv/bin/activate &&
+ pip install -r $GITHUB_ACTION_PATH/requirements.txt &&
+ python $GITHUB_ACTION_PATH/get_s3_package.py --product openvino --platform ${{ inputs.platform }} --arch ${{ inputs.arch }}
+ --version ${{ inputs.revision }}
- - name: Download OpenVINO archives
- id: openvino_download
- if: inputs.nightly_build_key || inputs.package_url
+ - name: Download nightly OpenVINO archives
+ id: openvino_s3_download
+ if: steps.get_source.outputs.artifacts_source == 's3'
shell: bash
run: |
- if [ ${{ inputs.package_url }} ]; then
- ov_package_url=${{ inputs.package_url }}
+ if [ ${{ steps.get_s3_package.outcome }} != 'skipped' ]; then
+ ov_package_url=${{ steps.get_s3_package.outputs.package_url }}
else
- ov_package_url=$(curl -s ${{ inputs.nightly_package_source }} | jq -r '.${{ inputs.nightly_build_key }}')
+ ov_package_url=$(curl -s ${{ inputs.nightly_package_source }} | jq -r '.${{ inputs.platform }}_${{ inputs.arch }}')
fi
+ cd ${{ inputs.install_dir || env.GITHUB_WORKSPACE }}
package_basename=$(basename $ov_package_url)
wget $ov_package_url --progress=bar:force:noscroll -O $package_basename
- package_folder=${package_basename%.*} && mkdir $package_folder
- [[ "$package_basename" == *.zip ]] && unzip "$package_basename" -d $package_folder || tar -xvf "$package_basename" -C $package_folder
+ package_folder=${package_basename%.*}
+ [[ "$package_basename" == *.zip ]] && unzip "$package_basename" || tar -xvf "$package_basename"
+ rm $package_basename
+ if [ ${{ inputs.install_dir }} ]; then
+ mv $package_folder/* . && rm -rf $package_folder
+ fi
ov_artifact_name=$([ ${{ inputs.ov_artifact_name }} ] && echo ${{ inputs.ov_artifact_name }} || echo $package_folder)
+ echo "ov_package_url=$ov_package_url" >> $GITHUB_OUTPUT
echo "ov_artifact_name=$ov_artifact_name" >> $GITHUB_OUTPUT
echo "ov_package_path=$package_folder" >> $GITHUB_OUTPUT
- name: Upload OpenVINO archives
- if: steps.openvino_download.outcome == 'success'
+ if: steps.openvino_s3_download.outcome == 'success' && !inputs.install_dir
uses: actions/upload-artifact@v4
with:
- name: ${{ steps.openvino_download.outputs.ov_artifact_name }}
- path: ${{ steps.openvino_download.outputs.ov_package_path }}
+ name: ${{ steps.openvino_s3_download.outputs.ov_artifact_name }}
+ path: ${{ steps.openvino_s3_download.outputs.ov_package_path }}
if-no-files-found: 'error'
- name: Get wheel
- id: openvino_wheel
- if: steps.openvino_download.outcome == 'success'
+ id: openvino_s3_wheel
+ if: steps.openvino_s3_download.outcome == 'success'
shell: bash
run: |
- rc_version=$(echo ${{ inputs.package_url }} |
+ rc_version=$(echo ${{ steps.openvino_s3_download.outputs.ov_package_url }} |
grep -oP '(?<=pre-release\/)\d{4}\.\d+\.\d+rc\d+' || true)
- release_version=$(echo ${{ steps.openvino_download.outputs.ov_package_path }} |
+ release_version=$(echo ${{ steps.openvino_s3_download.outputs.ov_package_path }} |
grep -oP '_\K\d{4}\.\d+\.\d+')
- dev_version=$(echo ${{ steps.openvino_download.outputs.ov_package_path }} |
+ dev_version=$(echo ${{ steps.openvino_s3_download.outputs.ov_package_path }} |
grep -oP "${release_version//./\\.}\.dev\d{8}" || true)
version=${rc_version:-${dev_version:-$release_version}}
+
extra_index="--pre --extra-index-url ${{ inputs.pip_extra_url }}/nightly \
--extra-index-url ${{ inputs.pip_extra_url }}/pre-release"
- wheel_input="$extra_index openvino==$version"
- echo "ov_wheel_input=$wheel_input" >> $GITHUB_OUTPUT
+
+ echo "ov_version=$version" >> $GITHUB_OUTPUT
echo "ov_wheel_source=$extra_index" >> $GITHUB_OUTPUT
diff --git a/.github/actions/openvino_provider/get_s3_package.py b/.github/actions/openvino_provider/get_s3_package.py
new file mode 100644
index 00000000000000..df253a422421ec
--- /dev/null
+++ b/.github/actions/openvino_provider/get_s3_package.py
@@ -0,0 +1,77 @@
+import requests
+import re
+import argparse
+import logging
+import sys
+
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).parents[1]))
+from common import action_utils
+
+
+# Function to download the JSON file
+def load_json_file(url):
+ response = requests.get(url)
+ if response.status_code == 200:
+ return response.json()
+ else:
+ raise Exception(f"Failed to download the file, status code: {response.status_code}")
+
+
+# Function to recursively gather all file paths from the JSON structure
+def gather_all_files(node, base_path=''):
+ all_files = []
+ if 'children' in node:
+ for child in node['children']:
+ new_base = f"{base_path}/{child['name']}"
+ if 'children' in child:
+ all_files += gather_all_files(child, new_base)
+ else:
+ all_files.append(new_base)
+ return all_files
+
+
+# Function to filter files based on the product, version, platform, architecture, and folder
+def filter_files_by_criteria(files, product, version_pattern, platform, arch, folder):
+ matching_files = []
+ for file in files:
+ if re.search(
+ fr"{product}/packages/{folder}(/?.*/)?{version_pattern}/.*{platform}.*{arch}.*\.(tar\.gz|tgz|zip)$",
+ file):
+ matching_files.append(file)
+ return matching_files
+
+
+# Main function to load the JSON, gather file paths, and filter based on criteria
+def main(product, version_pattern, platform, arch, folder):
+ action_utils.init_logger()
+ logger = logging.getLogger(__name__)
+
+ url = 'https://storage.openvinotoolkit.org/filetree.json'
+ filetree = load_json_file(url)
+ all_files = gather_all_files(filetree)
+ matching_files = filter_files_by_criteria(all_files, product, version_pattern, platform, arch, folder)
+ if matching_files:
+ logger.info(f"Matching packages: {sorted(matching_files)}")
+ package_url = f"https://storage.openvinotoolkit.org{sorted(matching_files)[-1]}"
+ logger.info(f"Returning package URL: {package_url}")
+ action_utils.set_github_output("package_url", package_url)
+ else:
+ logger.error("No matching files found.")
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(
+ description='Search OpenVINO archives based on product, version, platform, architecture, and folder.')
+ parser.add_argument('--product', required=True, choices=['openvino', 'openvino_genai', 'openvino_tokenizers'],
+ help='Product name')
+ parser.add_argument('--version', required=True, help='Version pattern (supports regex)')
+ parser.add_argument('--platform', default='ubuntu22', help='Platform (default: ubuntu22)')
+ parser.add_argument('--arch', default='x86_64', help='Architecture (default: x86_64)')
+ parser.add_argument('--folder', default='(.*/)?', help='Folder type (e.g., pre-release, nightly, default: (.*)?')
+
+ args = parser.parse_args()
+
+ main(args.product, args.version, args.platform, args.arch, args.folder)
diff --git a/.github/actions/openvino_provider/requirements.txt b/.github/actions/openvino_provider/requirements.txt
new file mode 100644
index 00000000000000..fb1be95648e227
--- /dev/null
+++ b/.github/actions/openvino_provider/requirements.txt
@@ -0,0 +1 @@
+requests~=2.32
diff --git a/.github/actions/restore_artifacts/action.yml b/.github/actions/restore_artifacts/action.yml
index f86bd0060860dd..efa0dfe87ae28f 100644
--- a/.github/actions/restore_artifacts/action.yml
+++ b/.github/actions/restore_artifacts/action.yml
@@ -1,9 +1,12 @@
name: 'Restore artifacts'
-description: 'Take artifacts from a shared drive and load them back to GitHub'
+description: 'Take artifacts from a shared drive and store them in a workspace'
inputs:
storage_dir:
- description: "Subdirectory name for artifacts, same as product type"
- required: true
+ description: "Subdirectory name for artifacts, same as product type. Optional if 'platform' argument is set"
+ required: false
+ platform:
+ description: "Platform for which to restore artifacts. Used if 'storage_dir' is not set"
+ required: false
storage_root:
description: "Root path of the artifacts storage"
required: true
@@ -16,9 +19,6 @@ inputs:
trigger_repo_sha:
description: "Commit hash of a trigger repo. If not set - taken from github context"
required: false
- artifacts_key:
- description: "A key under which to upload the artifacts to storage, product type by default"
- required: false
to_restore:
description: "Comma-separated list of packages to restore, all available by default"
required: false
@@ -26,28 +26,27 @@ inputs:
description: "Whether to unpack all artifact archives once retrieved"
required: false
default: 'true'
-
+ target_dir:
+ description: "Where to place artifact archives once retrieved"
+ required: false
outputs:
- artifacts_workspace_path:
- description: "Path within the workspace where the artifacts are stored"
- value: ${{ steps.restore.outputs.artifacts_workspace_path }}
- restored_artifacts_key:
- description: "Key under which the restored artifacts, if any, were uploaded to GitHub"
- value: ${{ steps.restore.outputs.restored_artifacts_key }}
+ artifacts_path:
+ description: "Path where the artifacts are stored"
+ value: ${{ steps.restore.outputs.artifacts_path }}
runs:
using: "composite"
steps:
- name: Restore artifacts
id: restore
- if: "!inputs.artifacts"
shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }}
run: >-
python3 ${{ env.ACTION_PATH }}/restore_artifacts.py
- -t "${{ env.GITHUB_WORKSPACE }}/${{ inputs.storage_dir }}"
- --storage_dir "${{ inputs.storage_dir }}" --storage_root "${{ inputs.storage_root }}"
+ -t "${{ inputs.target_dir || env.DEFAULT_TARGET_DIR }}"
+ --storage_root "${{ inputs.storage_root }}"
-s "${{ inputs.trigger_repo_sha || github.event.pull_request.head.sha || github.sha }}"
+ ${{ inputs.storage_dir && env.STORAGE_PARAM || env.PLATFORM_PARAM }}
${{ inputs.unpack_archives == 'true' && '--unpack_archives' || '' }}
${{ inputs.branch_name && env.BRANCH_PARAM || '' }}
${{ inputs.event_name && env.EVENT_PARAM || '' }}
@@ -55,14 +54,9 @@ runs:
env:
ACTION_PATH: ${{ runner.os == 'Windows' && '$env:GITHUB_ACTION_PATH' || '$GITHUB_ACTION_PATH' }}
GITHUB_WORKSPACE: ${{ runner.os == 'Windows' && '$env:GITHUB_WORKSPACE' || '$GITHUB_WORKSPACE' }}
+ STORAGE_PARAM: "--storage_dir ${{ inputs.storage_dir }}"
+ PLATFORM_PARAM: "--platform ${{ inputs.platform }}"
BRANCH_PARAM: "-b ${{ inputs.branch_name }}"
EVENT_PARAM: "-e ${{ inputs.event_name }}"
TO_RESTORE: "-r ${{ inputs.to_restore }}"
-
- - name: Upload artifacts
- if: "!inputs.artifacts"
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
- with:
- name: ${{ inputs.artifacts_key || steps.restore.outputs.restored_artifacts_key }}
- path: ${{ steps.restore.outputs.artifacts_workspace_path }}
- if-no-files-found: 'error'
+ DEFAULT_TARGET_DIR: "${{ env.GITHUB_WORKSPACE }}/${{ inputs.storage_dir || inputs.platform }}"
diff --git a/.github/actions/restore_artifacts/restore_artifacts.py b/.github/actions/restore_artifacts/restore_artifacts.py
index 8a780ce174470f..d79388a27f5616 100644
--- a/.github/actions/restore_artifacts/restore_artifacts.py
+++ b/.github/actions/restore_artifacts/restore_artifacts.py
@@ -14,16 +14,13 @@
sys.path.append(str(Path(__file__).parents[1]))
from common import artifact_utils, action_utils
-
+from common.constants import PlatformMapping, PlatformKey
def parse_args():
parser = argparse.ArgumentParser(description='Returns a path to artifacts for a given revision on a shared drive')
artifact_utils.add_common_args(parser)
parser.add_argument('-t', '--target_dir', type=str, help='Path to a dir in a workspace to download artifacts into',
required=True)
- parser.add_argument('-k', '--artifact_key', type=str,
- help='A key under which to upload the artifacts to storage, product type by default',
- required=False)
parser.add_argument('-r', '--to_restore', type=str, required=False,
help='Comma-separated list of packages to restore, all available by default')
parser.add_argument('-u', '--unpack_archives', action='store_true', required=False,
@@ -49,20 +46,22 @@ def main():
logger = logging.getLogger(__name__)
args = parse_args()
- if args.commit_sha == 'latest_available':
- latest_artifacts_link = artifact_utils.get_latest_artifacts_link(args.storage_dir, args.storage_root,
+ storage_dir = args.storage_dir or PlatformMapping[PlatformKey[args.platform.upper()]].value
+
+ if args.commit_sha == 'latest_available_commit':
+ latest_artifacts_link = artifact_utils.get_latest_artifacts_link(storage_dir, args.storage_root,
args.branch_name, args.event_name)
latest_artifacts_path = PureWindowsPath(latest_artifacts_link.read_text())
normalized_path = latest_artifacts_path.as_posix() if os.name == 'posix' else latest_artifacts_path
storage = Path(args.storage_root) / normalized_path
else:
- storage = artifact_utils.get_storage_dir(args.storage_dir, args.commit_sha, args.storage_root, args.branch_name,
+ storage = artifact_utils.get_storage_dir(storage_dir, args.commit_sha, args.storage_root, args.branch_name,
args.event_name)
action_utils.set_github_output("artifacts_storage_path", str(storage))
logger.info(f"Artifacts are taken from here: {storage}")
- main_package_extension = 'zip' if 'windows' in args.storage_dir else 'tar.gz'
+ main_package_extension = 'zip' if 'windows' in storage_dir else 'tar.gz'
main_package_name = f'openvino_package.{main_package_extension}'
defaults = [main_package_name, 'manifest.yml']
to_restore = set(args.to_restore.split(',')).union(defaults) if args.to_restore else defaults
@@ -82,8 +81,7 @@ def main():
shutil.unpack_archive(file, output_dir)
file.unlink()
- action_utils.set_github_output("artifacts_workspace_path", args.target_dir)
- action_utils.set_github_output("restored_artifacts_key", args.artifact_key or args.storage_dir)
+ action_utils.set_github_output("artifacts_path", args.target_dir)
if __name__ == '__main__':
diff --git a/.github/actions/store_artifacts/action.yml b/.github/actions/store_artifacts/action.yml
index 2ada54cd8e7709..4e50953d8c9874 100644
--- a/.github/actions/store_artifacts/action.yml
+++ b/.github/actions/store_artifacts/action.yml
@@ -4,9 +4,12 @@ inputs:
artifacts:
description: "Multi-line list of artifacts to store"
required: true
+ platform:
+ description: "Platform for which to restore artifacts. Used if 'storage_dir' is not set"
+ required: false
storage_dir:
- description: "Subdirectory name for stored artifacts, same as product type"
- required: true
+ description: "Subdirectory name for stored artifacts, same as product type. Optional if 'platform' argument is set"
+ required: false
storage_root:
description: "Root path to place artifacts to"
required: true
@@ -45,12 +48,15 @@ runs:
shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }}
run: >-
python3 ${{ env.ACTION_PATH }}/store_artifacts.py
- --storage_dir "${{ inputs.storage_dir }}" --storage_root "${{ inputs.storage_root }}"
+ --storage_root "${{ inputs.storage_root }}"
-a "${{ inputs.artifacts }}"
-s "${{ inputs.trigger_repo_sha || github.event.pull_request.head.sha || github.sha }}"
+ ${{ inputs.storage_dir && env.STORAGE_PARAM || env.PLATFORM_PARAM }}
${{ inputs.branch_name && env.BRANCH_PARAM || '' }}
${{ inputs.event_name && env.EVENT_PARAM || '' }}
env:
ACTION_PATH: ${{ runner.os == 'Windows' && '$env:GITHUB_ACTION_PATH' || '$GITHUB_ACTION_PATH' }}
BRANCH_PARAM: "-b ${{ inputs.branch_name }}"
EVENT_PARAM: "-e ${{ inputs.event_name }}"
+ STORAGE_PARAM: "--storage_dir ${{ inputs.storage_dir }}"
+ PLATFORM_PARAM: "--platform ${{ inputs.platform }}"
diff --git a/.github/actions/store_artifacts/store_artifacts.py b/.github/actions/store_artifacts/store_artifacts.py
index bbab2c8e694778..75cd452b562070 100644
--- a/.github/actions/store_artifacts/store_artifacts.py
+++ b/.github/actions/store_artifacts/store_artifacts.py
@@ -13,6 +13,7 @@
sys.path.append(str(Path(__file__).parents[1]))
from common import artifact_utils, action_utils
+from common.constants import PlatformMapping, PlatformKey
def parse_args():
@@ -67,7 +68,8 @@ def main():
args = parse_args()
storage_root = args.storage_root or os.getenv('ARTIFACTS_SHARE')
- storage = artifact_utils.get_storage_dir(args.storage_dir, args.commit_sha, args.storage_root, args.branch_name,
+ storage_dir = args.storage_dir or PlatformMapping[PlatformKey[args.platform.upper()]].value
+ storage = artifact_utils.get_storage_dir(storage_dir, args.commit_sha, args.storage_root, args.branch_name,
args.event_name)
action_utils.set_github_output("artifacts_storage_path", str(storage))
@@ -96,7 +98,7 @@ def main():
with open(storage / 'workflow_link.txt', 'w') as file:
file.write(workflow_link)
- latest_artifacts_for_branch = artifact_utils.get_latest_artifacts_link(args.storage_dir, args.storage_root,
+ latest_artifacts_for_branch = artifact_utils.get_latest_artifacts_link(storage_dir, args.storage_root,
args.branch_name, args.event_name)
# Overwrite path to "latest" built artifacts only if a given commit is the head of a given branch
if args.event_name != 'pull_request' and args.commit_sha == os.getenv('GITHUB_SHA'):
diff --git a/.github/workflows/android_arm64.yml b/.github/workflows/android_arm64.yml
index bbd737dff0e569..6a67e8f6793ec9 100644
--- a/.github/workflows/android_arm64.yml
+++ b/.github/workflows/android_arm64.yml
@@ -24,7 +24,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -53,7 +53,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -98,7 +98,7 @@ jobs:
SCCACHE_AZURE_KEY_PREFIX: android_arm64
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
@@ -116,7 +116,7 @@ jobs:
popd
- name: Clone vcpkg
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'microsoft/vcpkg'
ref: ${{ env.VCPKG_VERSION }}
diff --git a/.github/workflows/android_x64.yml b/.github/workflows/android_x64.yml
index 3504b8cf2fdeb1..cab5239b4c45c0 100644
--- a/.github/workflows/android_x64.yml
+++ b/.github/workflows/android_x64.yml
@@ -27,7 +27,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -56,7 +56,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -97,13 +97,13 @@ jobs:
SCCACHE_AZURE_KEY_PREFIX: android_x64
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone OpenVINO GenAI
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino.genai'
path: ${{ env.OPENVINO_GENAI_REPO }}
diff --git a/.github/workflows/build_doc.yml b/.github/workflows/build_doc.yml
index d6d3a63e431ecd..ec08a12352d0f4 100644
--- a/.github/workflows/build_doc.yml
+++ b/.github/workflows/build_doc.yml
@@ -18,7 +18,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
lfs: 'true'
diff --git a/.github/workflows/check_pr_commits.yml b/.github/workflows/check_pr_commits.yml
index 690b85046a108b..5710736f322652 100644
--- a/.github/workflows/check_pr_commits.yml
+++ b/.github/workflows/check_pr_commits.yml
@@ -9,7 +9,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Install dependencies
run: python3 -m pip install -r ./.github/github_org_control/requirements.txt
diff --git a/.github/workflows/cleanup_caches.yml b/.github/workflows/cleanup_caches.yml
index 948b73466ab903..53a426bfa32b42 100644
--- a/.github/workflows/cleanup_caches.yml
+++ b/.github/workflows/cleanup_caches.yml
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout cach action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/cache
diff --git a/.github/workflows/code_snippets.yml b/.github/workflows/code_snippets.yml
index 82daec9ee791f9..5384ece83fb207 100644
--- a/.github/workflows/code_snippets.yml
+++ b/.github/workflows/code_snippets.yml
@@ -28,7 +28,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
diff --git a/.github/workflows/code_style.yml b/.github/workflows/code_style.yml
index c2db68edca3956..777ba7694d0be5 100644
--- a/.github/workflows/code_style.yml
+++ b/.github/workflows/code_style.yml
@@ -10,11 +10,11 @@ permissions: read-all
jobs:
clang-format:
runs-on: ubuntu-22.04
+ if: ${{ github.repository_owner == 'openvinotoolkit' }}
permissions:
pull-requests: write
- if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
@@ -40,10 +40,11 @@ jobs:
ShellCheck:
runs-on: ubuntu-22.04
+ if: ${{ github.repository_owner == 'openvinotoolkit' }}
permissions:
pull-requests: write
steps:
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
@@ -73,8 +74,9 @@ jobs:
NamingConventionCheck:
runs-on: ubuntu-22.04
+ if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index b9b70e90668498..44ba4445ba8bb8 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -32,7 +32,7 @@ jobs:
max-size: 50G
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
submodules: 'true'
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index 0de4cb045bfeb4..25daf31604ab18 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -51,14 +51,14 @@ jobs:
apt-get install --assume-yes --no-install-recommends git ca-certificates
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
ref: ${{ inputs.openvinoRef }}
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
diff --git a/.github/workflows/debian_10_arm.yml b/.github/workflows/debian_10_arm.yml
index 7fab775b45b886..2bac51f3fefeb8 100644
--- a/.github/workflows/debian_10_arm.yml
+++ b/.github/workflows/debian_10_arm.yml
@@ -24,7 +24,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -58,7 +58,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/dependency_review.yml b/.github/workflows/dependency_review.yml
index e73acd765ed7f9..3dcd9a367b018c 100644
--- a/.github/workflows/dependency_review.yml
+++ b/.github/workflows/dependency_review.yml
@@ -9,7 +9,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Dependency Review
uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3
diff --git a/.github/workflows/dev_cpu_linux_snippets_libxsmm.yml b/.github/workflows/dev_cpu_linux_snippets_libxsmm.yml
index 8c4cfb5523efa6..fef0b0dec8b433 100644
--- a/.github/workflows/dev_cpu_linux_snippets_libxsmm.yml
+++ b/.github/workflows/dev_cpu_linux_snippets_libxsmm.yml
@@ -32,7 +32,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -65,7 +65,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -109,7 +109,7 @@ jobs:
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
@@ -295,7 +295,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/fedora_29.yml b/.github/workflows/fedora_29.yml
index b3a540fb287bd8..ba4e8940f3182a 100644
--- a/.github/workflows/fedora_29.yml
+++ b/.github/workflows/fedora_29.yml
@@ -24,7 +24,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -58,7 +58,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/files_size.yml b/.github/workflows/files_size.yml
index 6a006cc7d4ada8..3733ad48ca49d2 100644
--- a/.github/workflows/files_size.yml
+++ b/.github/workflows/files_size.yml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-22.04
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: git ls-tree
run: git ls-tree -r -t -l --full-name HEAD | sort -n -r -k 4
diff --git a/.github/workflows/job_build_linux.yml b/.github/workflows/job_build_linux.yml
index 244bb0ca2ca113..0520336ccd20c0 100644
--- a/.github/workflows/job_build_linux.yml
+++ b/.github/workflows/job_build_linux.yml
@@ -91,7 +91,7 @@ jobs:
PRODUCT_TYPE: public_linux_${{ inputs.os }}_${{ inputs.arch }}_release
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
@@ -106,7 +106,7 @@ jobs:
git rev-parse HEAD
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
diff --git a/.github/workflows/job_build_windows.yml b/.github/workflows/job_build_windows.yml
index 81283ecfafb729..bd6d6074382f73 100644
--- a/.github/workflows/job_build_windows.yml
+++ b/.github/workflows/job_build_windows.yml
@@ -47,13 +47,13 @@ jobs:
PRODUCT_TYPE: 'public_windows_vs2019_${{ inputs.build-type }}'
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
diff --git a/.github/workflows/job_cpu_functional_tests.yml b/.github/workflows/job_cpu_functional_tests.yml
index d924ba4003d5d8..1ad48695eb5bcb 100644
--- a/.github/workflows/job_cpu_functional_tests.yml
+++ b/.github/workflows/job_cpu_functional_tests.yml
@@ -63,7 +63,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_jax_models_tests.yml b/.github/workflows/job_jax_models_tests.yml
index 0d1a2944bf8ccf..74dc28078e300f 100644
--- a/.github/workflows/job_jax_models_tests.yml
+++ b/.github/workflows/job_jax_models_tests.yml
@@ -72,7 +72,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_openvino_js.yml b/.github/workflows/job_openvino_js.yml
index 3b1911c28cea4e..e722af78832c12 100644
--- a/.github/workflows/job_openvino_js.yml
+++ b/.github/workflows/job_openvino_js.yml
@@ -32,7 +32,7 @@ jobs:
DISPLAY: ':99'
steps:
- name: Fetch OpenVINO JS sources
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
src/bindings/js
diff --git a/.github/workflows/job_python_unit_tests.yml b/.github/workflows/job_python_unit_tests.yml
index 4074fe53a6eab3..e4d4a1f1a9f75b 100644
--- a/.github/workflows/job_python_unit_tests.yml
+++ b/.github/workflows/job_python_unit_tests.yml
@@ -29,7 +29,7 @@ env:
jobs:
Python_Unit_Tests:
name: Python unit tests
- timeout-minutes: 60
+ timeout-minutes: 70
runs-on: ${{ inputs.runner }}
container: ${{ fromJSON(inputs.container) }}
defaults:
@@ -73,7 +73,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
@@ -283,7 +283,7 @@ jobs:
- name: Clone API snippets
if: runner.os != 'macOS'
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: docs/articles_en/assets/snippets
path: ${{ env.OPENVINO_REPO }}
diff --git a/.github/workflows/job_pytorch_models_tests.yml b/.github/workflows/job_pytorch_models_tests.yml
index 957debd77deb39..8b26d1c6ecc3d4 100644
--- a/.github/workflows/job_pytorch_models_tests.yml
+++ b/.github/workflows/job_pytorch_models_tests.yml
@@ -85,7 +85,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_samples_tests.yml b/.github/workflows/job_samples_tests.yml
index 59392daa52a3e3..0ada0e1557d965 100644
--- a/.github/workflows/job_samples_tests.yml
+++ b/.github/workflows/job_samples_tests.yml
@@ -68,7 +68,7 @@ jobs:
- name: Fetch setup_python action
# Python is already installed on Ubuntu within Dockerfile
if: runner.os != 'Linux'
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_tensorflow_layer_tests.yml b/.github/workflows/job_tensorflow_layer_tests.yml
index 2de80c76637ba4..4cf82dcce6192c 100644
--- a/.github/workflows/job_tensorflow_layer_tests.yml
+++ b/.github/workflows/job_tensorflow_layer_tests.yml
@@ -91,7 +91,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_tensorflow_models_tests.yml b/.github/workflows/job_tensorflow_models_tests.yml
index 7793449c0365db..bad1be6de41954 100644
--- a/.github/workflows/job_tensorflow_models_tests.yml
+++ b/.github/workflows/job_tensorflow_models_tests.yml
@@ -77,7 +77,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/job_tokenizers.yml b/.github/workflows/job_tokenizers.yml
index 7bb8c1fcae4b82..fdd0a76088c725 100644
--- a/.github/workflows/job_tokenizers.yml
+++ b/.github/workflows/job_tokenizers.yml
@@ -51,7 +51,7 @@ jobs:
echo "EXTENSION_BUILD_DIR=$GITHUB_WORKSPACE/build" >> "$GITHUB_ENV"
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python
@@ -67,7 +67,7 @@ jobs:
self-hosted-runner: ${{ runner.os == 'Linux' }}
- name: Clone OpenVINO Tokenizers
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_tokenizers'
path: ${{ env.OPENVINO_TOKENIZERS_REPO }}
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index f6464838555e50..4c631b673f8cc2 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -10,6 +10,7 @@ jobs:
contents: read
pull-requests: write
runs-on: ubuntu-latest
+ if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- uses: akladiev/labeler@eeac5941e7fb6f980d47e038ac0665168851c874 # v4.3.1
with:
@@ -22,9 +23,10 @@ jobs:
external_pr_labeller:
name: Label External PR
runs-on: ubuntu-latest
+ if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Checkout Labeller Script
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: '.github'
diff --git a/.github/workflows/linux_arm64.yml b/.github/workflows/linux_arm64.yml
index 2e557ebc5ef477..9a52bf294461d5 100644
--- a/.github/workflows/linux_arm64.yml
+++ b/.github/workflows/linux_arm64.yml
@@ -28,7 +28,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -62,7 +62,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/linux_conditional_compilation.yml b/.github/workflows/linux_conditional_compilation.yml
index f9359e323d4baf..f8abe78439dbf6 100644
--- a/.github/workflows/linux_conditional_compilation.yml
+++ b/.github/workflows/linux_conditional_compilation.yml
@@ -29,7 +29,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -63,7 +63,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -109,13 +109,13 @@ jobs:
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Clone test models
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/testdata'
path: ${{ env.MODELS_PATH }}
@@ -282,13 +282,13 @@ jobs:
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Clone test models
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/testdata'
path: ${{ env.MODELS_PATH }}
diff --git a/.github/workflows/linux_riscv.yml b/.github/workflows/linux_riscv.yml
index 3de8b56ad773cc..f124aae2e60ed2 100644
--- a/.github/workflows/linux_riscv.yml
+++ b/.github/workflows/linux_riscv.yml
@@ -24,7 +24,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -53,7 +53,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -92,7 +92,7 @@ jobs:
if: ${{ github.event_name != 'merge_group' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
diff --git a/.github/workflows/linux_sanitizers.yml b/.github/workflows/linux_sanitizers.yml
index 367fce8eb98683..6facb984136067 100644
--- a/.github/workflows/linux_sanitizers.yml
+++ b/.github/workflows/linux_sanitizers.yml
@@ -66,13 +66,13 @@ jobs:
apt-get install --assume-yes --no-install-recommends git ca-certificates
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
@@ -269,7 +269,7 @@ jobs:
apt update && apt --assume-yes install clang lld
- name: Fetch Sanitizer Suppression Lists
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
tests/lsan/suppressions.txt
diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml
index d60ef4608093b2..0846165711f772 100644
--- a/.github/workflows/mac.yml
+++ b/.github/workflows/mac.yml
@@ -42,7 +42,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -81,13 +81,13 @@ jobs:
if: "!needs.smart_ci.outputs.skip_workflow"
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
diff --git a/.github/workflows/mac_arm64.yml b/.github/workflows/mac_arm64.yml
index 73890d1284222e..abec86659c925b 100644
--- a/.github/workflows/mac_arm64.yml
+++ b/.github/workflows/mac_arm64.yml
@@ -42,7 +42,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -81,13 +81,13 @@ jobs:
if: "!needs.smart_ci.outputs.skip_workflow"
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
diff --git a/.github/workflows/mo.yml b/.github/workflows/mo.yml
index 9a112e7e53ced2..ee3e3e9fe5af77 100644
--- a/.github/workflows/mo.yml
+++ b/.github/workflows/mo.yml
@@ -24,7 +24,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Setup Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
diff --git a/.github/workflows/ovc.yml b/.github/workflows/ovc.yml
index 1e2668f26cb579..2e6986a96e3f29 100644
--- a/.github/workflows/ovc.yml
+++ b/.github/workflows/ovc.yml
@@ -19,7 +19,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Setup Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
diff --git a/.github/workflows/py_checks.yml b/.github/workflows/py_checks.yml
index 75a8a1b83f03d0..ae0625ce4a453c 100644
--- a/.github/workflows/py_checks.yml
+++ b/.github/workflows/py_checks.yml
@@ -28,7 +28,7 @@ jobs:
if: ${{ github.repository_owner == 'openvinotoolkit' }}
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Setup Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
diff --git a/.github/workflows/send_workflows_to_opentelemetry.yml b/.github/workflows/send_workflows_to_opentelemetry.yml
index ef597e55858b0e..687b79d2606bec 100644
--- a/.github/workflows/send_workflows_to_opentelemetry.yml
+++ b/.github/workflows/send_workflows_to_opentelemetry.yml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: '.github'
diff --git a/.github/workflows/ubuntu_20.yml b/.github/workflows/ubuntu_20.yml
index df1450a98e46a1..27d21707d117e6 100644
--- a/.github/workflows/ubuntu_20.yml
+++ b/.github/workflows/ubuntu_20.yml
@@ -30,7 +30,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -64,7 +64,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/ubuntu_22.yml b/.github/workflows/ubuntu_22.yml
index 90618357b2c63f..ad53b5e0892590 100644
--- a/.github/workflows/ubuntu_22.yml
+++ b/.github/workflows/ubuntu_22.yml
@@ -32,7 +32,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -66,7 +66,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -183,7 +183,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
@@ -447,7 +447,7 @@ jobs:
popd
- name: Clone OpenVINO Contrib
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
diff --git a/.github/workflows/ubuntu_22_dpcpp.yml b/.github/workflows/ubuntu_22_dpcpp.yml
index 1ee9df0095ff02..9ca27262a5dcde 100644
--- a/.github/workflows/ubuntu_22_dpcpp.yml
+++ b/.github/workflows/ubuntu_22_dpcpp.yml
@@ -20,7 +20,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -54,7 +54,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/ubuntu_24.yml b/.github/workflows/ubuntu_24.yml
index 474e8a46ae57aa..abb160e62c4d75 100644
--- a/.github/workflows/ubuntu_24.yml
+++ b/.github/workflows/ubuntu_24.yml
@@ -27,7 +27,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -61,7 +61,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
diff --git a/.github/workflows/webassembly.yml b/.github/workflows/webassembly.yml
index a4a1a17af9d5ce..c4d835637352ad 100644
--- a/.github/workflows/webassembly.yml
+++ b/.github/workflows/webassembly.yml
@@ -24,7 +24,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -58,7 +58,7 @@ jobs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./.github/actions/handle_docker
id: handle_docker
@@ -91,7 +91,7 @@ jobs:
SCCACHE_AZURE_KEY_PREFIX: webassembly_Release
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml
index eaf97ddd7f9dfc..ed6599a038a748 100644
--- a/.github/workflows/windows_conditional_compilation.yml
+++ b/.github/workflows/windows_conditional_compilation.yml
@@ -30,7 +30,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -73,13 +73,13 @@ jobs:
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone test models
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
@@ -282,13 +282,13 @@ jobs:
steps:
- name: Clone OpenVINO
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: 'openvino'
submodules: 'true'
- name: Clone test models
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
@@ -369,7 +369,7 @@ jobs:
run: Expand-Archive ${{ env.INSTALL_TEST_DIR }}/openvino_tests.zip -DestinationPath "${{ env.INSTALL_TEST_DIR }}"
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/windows_vs2019_debug.yml b/.github/workflows/windows_vs2019_debug.yml
index f52b58d1a81197..0c0cec15a8cdc8 100644
--- a/.github/workflows/windows_vs2019_debug.yml
+++ b/.github/workflows/windows_vs2019_debug.yml
@@ -21,7 +21,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
diff --git a/.github/workflows/windows_vs2019_release.yml b/.github/workflows/windows_vs2019_release.yml
index 43c3879ba4ae8d..59e2fdd56de5f3 100644
--- a/.github/workflows/windows_vs2019_release.yml
+++ b/.github/workflows/windows_vs2019_release.yml
@@ -26,7 +26,7 @@ jobs:
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: .github/actions/smart-ci
@@ -90,7 +90,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
@@ -156,7 +156,7 @@ jobs:
steps:
- name: Fetch OpenVINO JS sources
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
src/bindings/js
@@ -255,7 +255,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
@@ -455,7 +455,7 @@ jobs:
popd
- name: Fetch setup_python action
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
diff --git a/.github/workflows/workflow_rerunner.yml b/.github/workflows/workflow_rerunner.yml
index 1c193f35dfa17e..7da00df4e46d32 100644
--- a/.github/workflows/workflow_rerunner.yml
+++ b/.github/workflows/workflow_rerunner.yml
@@ -31,7 +31,7 @@ jobs:
checks: read
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: '.github/scripts/workflow_rerun'
@@ -58,11 +58,11 @@ jobs:
rerunner_tests:
name: Rerunner Tests
- if: ${{ github.event_name == 'pull_request' }}
+ if: ${{ github.event_name == 'pull_request' && github.repository_owner == 'openvinotoolkit' }}
runs-on: aks-linux-2-cores-8gb
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
sparse-checkout: '.github/scripts/workflow_rerun'
lfs: true
diff --git a/docs/articles_en/about-openvino/release-notes-openvino.rst b/docs/articles_en/about-openvino/release-notes-openvino.rst
index 0e3e84cfdc2aad..903cf854b24d48 100644
--- a/docs/articles_en/about-openvino/release-notes-openvino.rst
+++ b/docs/articles_en/about-openvino/release-notes-openvino.rst
@@ -63,7 +63,7 @@ Now deprecated
* The macOS x86_64 debug bins
* Python 3.8
- * dKMB support
+ * Discrete Keem Bay support
* Intel® Streaming SIMD Extensions (Intel® SSE) will be supported in source code form, but not
enabled in the binary package by default, starting with OpenVINO 2025.0.
@@ -1323,7 +1323,12 @@ Deprecated and to be removed in the future
with OpenVINO 2024.5.
* Python 3.8 is now considered deprecated, and it will not be available beyond the 2024.4
OpenVINO version.
-* dKMB support is now considered deprecated and will be fully removed with OpenVINO 2024.5
+
+ * As MxNet doesn't support Python version higher than 3.8, according to the
+ `MxNet PyPI project `__,
+ it will no longer be supported in future versions, either.
+
+* Discrete Keem Bay support is now considered deprecated and will be fully removed with OpenVINO 2024.5
* Intel® Streaming SIMD Extensions (Intel® SSE) will be supported in source code form, but not
enabled in the binary package by default, starting with OpenVINO 2025.0
* The openvino-nightly PyPI module will soon be discontinued. End-users should proceed with the
diff --git a/docs/articles_en/about-openvino/release-notes-openvino/system-requirements.rst b/docs/articles_en/about-openvino/release-notes-openvino/system-requirements.rst
index e12cefe0048470..50ac3a3350658e 100644
--- a/docs/articles_en/about-openvino/release-notes-openvino/system-requirements.rst
+++ b/docs/articles_en/about-openvino/release-notes-openvino/system-requirements.rst
@@ -89,7 +89,7 @@ Intel® Neural Processing Unit
* Ubuntu 24.04 long-term support (LTS), 64-bit (preview support)
* Ubuntu 22.04 long-term support (LTS), 64-bit
- * Windows 11, 64-bit (22H2, 23H2)
+ * Windows 11, 64-bit (22H2 and later)
.. tab-item:: Additional considerations
diff --git a/docs/sphinx_setup/_static/js/custom.js b/docs/sphinx_setup/_static/js/custom.js
index 5ee1260c8f400e..797b0a93766529 100644
--- a/docs/sphinx_setup/_static/js/custom.js
+++ b/docs/sphinx_setup/_static/js/custom.js
@@ -108,18 +108,20 @@ $(document).ready(function () {
function handleSidebar() {
const resizer = document.querySelector("#bd-resizer");
- const sidebar = document.querySelector("#bd-sidebar");
- resizer.addEventListener("mousedown", (event) => {
- document.addEventListener("mousemove", resize, false);
- document.addEventListener("mouseup", () => {
- document.removeEventListener("mousemove", resize, false);
- }, false);
- });
-
- function resize(e) {
- const size = `${e.x}px`;
- localStorage['resizeSidebarX'] = size;
- sidebar.style.flexBasis = size;
+ if(resizer){
+ const sidebar = document.querySelector("#bd-sidebar");
+ resizer.addEventListener("mousedown", (event) => {
+ document.addEventListener("mousemove", resize, false);
+ document.addEventListener("mouseup", () => {
+ document.removeEventListener("mousemove", resize, false);
+ }, false);
+ });
+
+ function resize(e) {
+ const size = `${e.x}px`;
+ localStorage['resizeSidebarX'] = size;
+ sidebar.style.flexBasis = size;
+ }
}
}
@@ -346,52 +348,60 @@ function addFooter() {
const footerAnchor = $('.footer');
fetch('/footer.html').then((response) => response.text()).then((text) => {
- console.log(text)
const footerContent = $(text);
footerAnchor.append(footerContent);
});
}
function initSplide() {
- var splide = new Splide('.splide', {
- type: 'fade',
- autoHeight: true,
- perPage: 1,
- autoplay: true,
- arrows: false,
- waitForTransition: true,
- wheel: true,
- wheelSleep: 250,
- interval: 3000,
- });
- splide.mount();
+ var splider = document.getElementsByClassName('.splide');
+ if(splider.length != 0){
+ var splide = new Splide('.splide', {
+ type: 'fade',
+ autoHeight: true,
+ perPage: 1,
+ autoplay: true,
+ arrows: false,
+ waitForTransition: true,
+ wheel: true,
+ wheelSleep: 250,
+ interval: 3000,
+ });
+ splide.mount();
+ }
}
// ---------- COVEO SEARCH -----------
-function selectResultViewType(type, gridButton, listButton) {
- type === "grid" ? gridButton.click() : listButton.click();
-}
function addViewTypeListeners() {
const resultViewTypeFromLs = window.localStorage.getItem('atomicResultViewType');
let list = document.getElementById("atomic-result-list");
+
var viewSelectorGrid = document.getElementById("view-selector-grid");
- viewSelectorGrid.addEventListener('click', function () {
- list.display = "grid";
- window.localStorage.setItem('atomicResultViewType', "grid");
- viewSelectorGrid.classList.add('selected');
- viewSelectorList.classList.remove('selected');
- selectResultViewType("grid", viewSelectorGrid, viewSelectorList);
- });
var viewSelectorList = document.getElementById("view-selector-list");
- viewSelectorList.addEventListener('click', function () {
- list.display = "list";
- window.localStorage.setItem('atomicResultViewType', "list");
- viewSelectorList.classList.add('selected');
- viewSelectorGrid.classList.remove('selected');
- selectResultViewType("list", viewSelectorGrid, viewSelectorList);
- });
- selectResultViewType(resultViewTypeFromLs || "grid", viewSelectorGrid, viewSelectorList);
+
+ if(viewSelectorGrid){
+ viewSelectorGrid.addEventListener('click', function () {
+ list.display = "grid";
+ window.localStorage.setItem('atomicResultViewType', "grid");
+ viewSelectorGrid.classList.add('selected');
+ viewSelectorList.classList.remove('selected');
+ viewSelectorGrid.click();
+ });
+ }
+
+ if(viewSelectorList){
+ viewSelectorList.addEventListener('click', function () {
+ list.display = "list";
+ window.localStorage.setItem('atomicResultViewType', "list");
+ viewSelectorList.classList.add('selected');
+ viewSelectorGrid.classList.remove('selected');
+ viewSelectorList.click();
+ });
+ }
+ if(viewSelectorList && viewSelectorGrid) {
+ viewSelectorGrid.classList.add('selected');
+ }
}
document.addEventListener('DOMContentLoaded', function () {
diff --git a/src/plugins/auto_batch/src/async_infer_request.cpp b/src/plugins/auto_batch/src/async_infer_request.cpp
index a92e8c7f06ff43..d740d9d5861ed6 100644
--- a/src/plugins/auto_batch/src/async_infer_request.cpp
+++ b/src/plugins/auto_batch/src/async_infer_request.cpp
@@ -69,6 +69,7 @@ AsyncInferRequest::AsyncInferRequest(const std::shared_ptr& re
// it is ok to call size() here as the queue only grows (and the bulk removal happens under the mutex)
const int sz = static_cast(workerInferRequest->_tasks.size());
if (sz == workerInferRequest->_batch_size) {
+ workerInferRequest->_is_wakeup = true;
workerInferRequest->_cond.notify_one();
}
};
diff --git a/src/plugins/auto_batch/src/compiled_model.cpp b/src/plugins/auto_batch/src/compiled_model.cpp
index 68de2481a3e019..b02759f53dc1d1 100644
--- a/src/plugins/auto_batch/src/compiled_model.cpp
+++ b/src/plugins/auto_batch/src/compiled_model.cpp
@@ -64,6 +64,7 @@ CompiledModel::GetWorkerInferRequest() const {
workerRequestPtr->_infer_request_batched._so = m_compiled_model_with_batch._so;
workerRequestPtr->_batch_size = m_device_info.device_batch_size;
workerRequestPtr->_completion_tasks.resize(workerRequestPtr->_batch_size);
+ workerRequestPtr->_is_wakeup = false;
workerRequestPtr->_infer_request_batched->set_callback(
[workerRequestPtr](std::exception_ptr exceptionPtr) mutable {
if (exceptionPtr)
@@ -74,6 +75,7 @@ CompiledModel::GetWorkerInferRequest() const {
workerRequestPtr->_completion_tasks[c]();
}
// reset the timeout
+ workerRequestPtr->_is_wakeup = true;
workerRequestPtr->_cond.notify_one();
});
@@ -83,6 +85,9 @@ CompiledModel::GetWorkerInferRequest() const {
{
std::unique_lock lock(workerRequestPtr->_mutex);
status = workerRequestPtr->_cond.wait_for(lock, std::chrono::milliseconds(m_time_out));
+ if ((status != std::cv_status::timeout) && (workerRequestPtr->_is_wakeup == false))
+ continue;
+ workerRequestPtr->_is_wakeup = false;
}
if (m_terminate) {
break;
diff --git a/src/plugins/auto_batch/src/compiled_model.hpp b/src/plugins/auto_batch/src/compiled_model.hpp
index 200445f0140495..c4cf38d0e701ea 100644
--- a/src/plugins/auto_batch/src/compiled_model.hpp
+++ b/src/plugins/auto_batch/src/compiled_model.hpp
@@ -30,6 +30,7 @@ class CompiledModel : public ov::ICompiledModel {
std::condition_variable _cond;
std::mutex _mutex;
std::exception_ptr _exception_ptr;
+ bool _is_wakeup;
};
CompiledModel(const std::shared_ptr& model,
diff --git a/src/plugins/intel_cpu/src/dnnl_extension_utils.cpp b/src/plugins/intel_cpu/src/dnnl_extension_utils.cpp
index d60ede1decf6c1..3d9b2f69bd8f66 100644
--- a/src/plugins/intel_cpu/src/dnnl_extension_utils.cpp
+++ b/src/plugins/intel_cpu/src/dnnl_extension_utils.cpp
@@ -171,30 +171,14 @@ DnnlMemoryDescPtr DnnlExtensionUtils::makeDescriptor(const_dnnl_memory_desc_t de
}
}
-static size_t sub_byte_data_type_multiplier(dnnl::memory::data_type dataType) {
- switch (dataType) {
- case dnnl::memory::data_type::nf4:
- case dnnl::memory::data_type::s4:
- case dnnl::memory::data_type::u4:
- case dnnl::memory::data_type::f4_e2m1:
- return 2;
- default:
- return 1;
- }
-}
-
size_t DnnlExtensionUtils::getMemSizeForDnnlDesc(const dnnl::memory::desc& desc) {
- auto tmpDesc = desc;
-
- const auto offset0 = tmpDesc.get()->offset0;
- tmpDesc.get()->offset0 = 0;
+ OPENVINO_ASSERT(IMPLICATION(desc.get_format_kind() == dnnl::memory::format_kind::blocked, desc.get()->offset0 == 0),
+ "Unexpected non zero offset for a dnnl blocked memory desc");
- size_t size = tmpDesc.get_size();
+ size_t size = desc.get_size();
if (size == DNNL_RUNTIME_SIZE_VAL)
return MemoryDesc::UNDEFINED_SIZE;
- size += div_up(offset0 * sizeOfDataType(tmpDesc.get_data_type()),
- sub_byte_data_type_multiplier(tmpDesc.get_data_type()));
return size;
}
diff --git a/src/plugins/intel_cpu/src/graph.h b/src/plugins/intel_cpu/src/graph.h
index 97c11dba6f77c1..b3634800fb2e05 100644
--- a/src/plugins/intel_cpu/src/graph.h
+++ b/src/plugins/intel_cpu/src/graph.h
@@ -21,7 +21,7 @@
#include
#include "openvino/runtime/so_ptr.hpp"
-#include "proxy_mem_mgr.h"
+#include "proxy_mem_blk.h"
namespace ov {
namespace intel_cpu {
diff --git a/src/plugins/intel_cpu/src/infer_request.cpp b/src/plugins/intel_cpu/src/infer_request.cpp
index 85bc5c2fe38f45..f255a46efe7d0a 100644
--- a/src/plugins/intel_cpu/src/infer_request.cpp
+++ b/src/plugins/intel_cpu/src/infer_request.cpp
@@ -15,7 +15,7 @@
#include "openvino/core/shape.hpp"
#include "openvino/runtime/make_tensor.hpp"
#include "openvino/runtime/tensor.hpp"
-#include "proxy_mem_mgr.h"
+#include "proxy_mem_blk.h"
#include "utils/general_utils.h"
#include "utils/ngraph_utils.hpp"
#include "openvino/runtime/threading/cpu_message.hpp"
diff --git a/src/plugins/intel_cpu/src/node.cpp b/src/plugins/intel_cpu/src/node.cpp
index 05c31da0623d45..34e48dea50cbfa 100644
--- a/src/plugins/intel_cpu/src/node.cpp
+++ b/src/plugins/intel_cpu/src/node.cpp
@@ -5,7 +5,7 @@
#include "node.h"
#include "cpu_types.h"
#include "edge.h"
-#include "partitioned_mem_mgr.h"
+#include "partitioned_mem_blk.h"
#include
#include
@@ -281,7 +281,6 @@ void Node::selectPreferPrimitiveDescriptor(const std::vector& pr
auto parentDesc = parent_spd->getConfig().outConfs[inNum].getMemDesc();
const bool isCompatible = curDesc->isCompatible(*parentDesc);
-
if (isCompatible) {
equalsLocalFormatCount++;
}
@@ -316,6 +315,126 @@ void Node::selectPreferPrimitiveDescriptor(const std::vector& pr
selectPrimitiveDescriptorByIndex(0);
}
+bool Node::isOneDimShape(const ov::PartialShape& pshape) {
+ int value_1_num = 0;
+ int sz = static_cast(pshape.size());
+ for (auto s : pshape) {
+ if (s.is_static() && s.get_length() == 1) {
+ value_1_num++;
+ }
+ }
+ return value_1_num >= sz - 1;
+}
+
+bool Node::isReorderRequired(ov::intel_cpu::MemoryDescPtr desc1, ov::intel_cpu::MemoryDescPtr desc2) {
+ bool samePrec = desc1->getPrecision() == desc2->getPrecision();
+ bool isOneDimShape1 = isOneDimShape(desc1->getShape().toPartialShape());
+ bool isOneDimShape2 = isOneDimShape(desc2->getShape().toPartialShape());
+ return !(isOneDimShape1 && isOneDimShape2 && samePrec);
+}
+
+void Node::selectPreferPrimitiveDescriptorWithShape(const std::vector& priority, bool ignoreConstInputs) {
+ // Filter out dynamic shape.
+ if (isDynamic) {
+ return selectPreferPrimitiveDescriptor(priority, ignoreConstInputs);
+ }
+
+ auto estimateReorderOverhead = [&](const ov::intel_cpu::NodeDesc& supportedPrimitiveDesc, size_t i) {
+ int estimate = 0;
+ auto inputNodesNum = supportedPrimitiveDesc.getConfig().inConfs.size();
+ for (size_t j = 0; j < inputNodesNum; j++) {
+ auto parentEdge = getParentEdgeAt(j);
+ auto parentPtr = parentEdge->getParent();
+
+ // We don't take into account constant edges since reorders on them will be executed on load network
+ // stage
+ if (ignoreConstInputs && j > 0 && parentPtr->isConstant()) {
+ continue;
+ }
+
+ auto parent_spd = parentPtr->getSelectedPrimitiveDescriptor();
+ if (parent_spd != nullptr && !parent_spd->getConfig().outConfs.empty()) {
+ int inNum = parentEdge->getInputNum();
+ if (inNum < 0 || inNum >= static_cast(parent_spd->getConfig().outConfs.size())) {
+ inNum = 0;
+ }
+ auto curDesc = supportedPrimitiveDesc.getConfig().inConfs[j].getMemDesc();
+ auto parentDesc = parent_spd->getConfig().outConfs[inNum].getMemDesc();
+
+ const bool isCompatible = curDesc->isCompatible(*parentDesc);
+ if (!isCompatible) {
+ if (!isReorderRequired(parentDesc, curDesc)) {
+ estimate += 1;
+ } else {
+ estimate += ov::shape_size(curDesc->getShape().getMinDims());
+ }
+ }
+
+ DEBUG_LOG(getName(), " pd[", i, "].inConfs[", j, "]"
+ " is ", (isCompatible ? "compatible" : "not compatible"),
+ " shape is ", (isOneDimShape(curDesc->getShape().toPartialShape()) ? "one dim shape" : "not one dim shape"),
+ " with parent ", parentPtr->getName(),
+ " outConfs[", inNum, "], estimate add to ", estimate);
+ }
+ }
+ return estimate;
+ };
+
+ auto selectSPDwithType = [&](const impl_desc_type type) {
+ int selectedPrimitive = -1;
+ int bestEstimate = std::numeric_limits::max();
+ for (size_t i = 0; i < getSupportedPrimitiveDescriptors().size(); i++) {
+ const auto& supportedPrimitiveDesc = getSupportedPrimitiveDescriptors()[i];
+ const impl_desc_type supportedType = supportedPrimitiveDesc.getImplementationType();
+ if (supportedType != type) {
+ continue;
+ }
+
+ const size_t descInConfSize = supportedPrimitiveDesc.getConfig().inConfs.size();
+
+ if (descInConfSize > getParentEdges().size()) {
+ OPENVINO_THROW(getName(),
+ " Desc ",
+ i,
+ " with type: ",
+ supportedType,
+ " has more input ports than node: ",
+ descInConfSize,
+ " vs ",
+ getParentEdges().size());
+ continue;
+ }
+
+ auto estimate = estimateReorderOverhead(supportedPrimitiveDesc, i);
+
+ if (estimate < bestEstimate) {
+ bestEstimate = estimate;
+ selectedPrimitive = static_cast(i);
+ DEBUG_LOG(getName(), " Select primitive desc: ", i, " ", supportedPrimitiveDesc);
+ }
+ }
+ return selectedPrimitive;
+ };
+
+ // loop kernel priority
+ for (auto& type : priority) {
+ int selectedPrimitive = selectSPDwithType(type);
+ if (selectedPrimitive >= 0) {
+ selectPrimitiveDescriptorByIndex(selectedPrimitive);
+ return;
+ }
+ }
+
+ OPENVINO_ASSERT(!getSupportedPrimitiveDescriptors().empty(),
+ "Supported primitive descriptors list is empty for node: ",
+ getName(),
+ " type: ",
+ NameFromType(getType()));
+
+ // fallback. If there are no primitives from priority list just select a first
+ selectPrimitiveDescriptorByIndex(0);
+}
+
bool Node::canBeInPlace() const {
// TODO [DS]: enable inPlace for dynamic shapes
if (isDynamicNode()) {
diff --git a/src/plugins/intel_cpu/src/node.h b/src/plugins/intel_cpu/src/node.h
index df44056b023b9f..948bd6999ce27a 100644
--- a/src/plugins/intel_cpu/src/node.h
+++ b/src/plugins/intel_cpu/src/node.h
@@ -715,6 +715,9 @@ class Node {
friend class GraphOptimizer;
void selectPreferPrimitiveDescriptor(const std::vector& priority, bool ignoreConstInputs);
+ void selectPreferPrimitiveDescriptorWithShape(const std::vector& priority, bool ignoreConstInputs);
+ bool isOneDimShape(const ov::PartialShape& pshape);
+ bool isReorderRequired(ov::intel_cpu::MemoryDescPtr desc1, ov::intel_cpu::MemoryDescPtr desc2);
bool isConfigDefined(const NodeConfig &config) const;
virtual bool canBeInPlace() const;
diff --git a/src/plugins/intel_cpu/src/nodes/concat.cpp b/src/plugins/intel_cpu/src/nodes/concat.cpp
index 6ca87ab31e6b37..576361de7e692b 100644
--- a/src/plugins/intel_cpu/src/nodes/concat.cpp
+++ b/src/plugins/intel_cpu/src/nodes/concat.cpp
@@ -19,7 +19,7 @@
#include "common/cpu_memcpy.h"
#include "common/blocked_desc_creator.h"
#include
-#include
+#include
using namespace dnnl;
namespace ov {
@@ -559,8 +559,8 @@ void Concat::execNspcSpecCase() {
nonZeroInShapes++;
}
-
- const size_t iter_count = getParentEdgeAt(firstNonZeroEdge)->getMemory().getSize() / channelsDataSize[0];
+ const Shape& shape = getSrcMemoryAtPort(firstNonZeroEdge)->getShape();
+ const size_t iter_count = shape.getElementsCount() / shape.getStaticDims()[channelAxis];
parallel_for(iter_count, [&](int i) {
const size_t dst_off = i * channels_size;
diff --git a/src/plugins/intel_cpu/src/nodes/gather.cpp b/src/plugins/intel_cpu/src/nodes/gather.cpp
index 94debfba1901ab..81f6f36b84dd89 100644
--- a/src/plugins/intel_cpu/src/nodes/gather.cpp
+++ b/src/plugins/intel_cpu/src/nodes/gather.cpp
@@ -4,7 +4,7 @@
#include "gather.h"
-#include
+#include
#include
#include
diff --git a/src/plugins/intel_cpu/src/nodes/interpolate.cpp b/src/plugins/intel_cpu/src/nodes/interpolate.cpp
index e61fccd3328639..19a19a36840947 100644
--- a/src/plugins/intel_cpu/src/nodes/interpolate.cpp
+++ b/src/plugins/intel_cpu/src/nodes/interpolate.cpp
@@ -2835,11 +2835,12 @@ void Interpolate::InterpolateJitExecutor::pillowCGathered(const uint8_t *in_ptr_
size_t threadsNum = parallel_get_num_threads();
size_t parallelNum = B;
// IH * OW * C buf needed
+ size_t buffer_size = static_cast(OW * IH * C);
if (parallelNum < threadsNum) {
- arg.src_ptr[1] = static_cast(&pillow_working_buf[(b * OW * IH * C) * srcDataSize]);
+ arg.src_ptr[1] = static_cast(&pillow_working_buf[b * buffer_size * srcDataSize]);
} else {
size_t threadsIdx = parallel_get_thread_num();
- arg.src_ptr[1] = static_cast(&pillow_working_buf[(threadsIdx * OW * IH * C) * srcDataSize]);
+ arg.src_ptr[1] = static_cast(&pillow_working_buf[threadsIdx * buffer_size * srcDataSize]);
}
}
arg.dst = out_ptr_ + (OW * OH * C * b) * dstDataSize;
@@ -3719,8 +3720,9 @@ void Interpolate::InterpolateRefExecutor::pillowRef(const uint8_t *in_ptr_, uint
ypass_in_ptr_nc = static_cast(&pillow_working_buf[(OW * IH * C * b + OW * IH * c) * srcDataSize]);
} else {
size_t threadsIdx = parallel_get_thread_num();
- xpass_out_ptr_nc = static_cast(&pillow_working_buf[(threadsIdx * OW * IH) * srcDataSize]);
- ypass_in_ptr_nc = static_cast(&pillow_working_buf[(threadsIdx * OW * IH) * srcDataSize]);
+ size_t buffer_size = static_cast(OW * IH);
+ xpass_out_ptr_nc = static_cast(&pillow_working_buf[threadsIdx * buffer_size * srcDataSize]);
+ ypass_in_ptr_nc = static_cast(&pillow_working_buf[threadsIdx * buffer_size * srcDataSize]);
}
} else if (xPass && !yPass) {
xpass_out_ptr_nc = out_ptr_nc;
diff --git a/src/plugins/intel_cpu/src/nodes/memory.hpp b/src/plugins/intel_cpu/src/nodes/memory.hpp
index 88b6a3d1250f0f..c5a83cfa5cad1a 100644
--- a/src/plugins/intel_cpu/src/nodes/memory.hpp
+++ b/src/plugins/intel_cpu/src/nodes/memory.hpp
@@ -7,7 +7,7 @@
#include "input.h"
#include "memory_state_base.h"
#include "ov_optional.hpp"
-#include "proxy_mem_mgr.h"
+#include "proxy_mem_blk.h"
#include