Skip to content

Commit

Permalink
Merge branch 'master' into cvs_158017
Browse files Browse the repository at this point in the history
  • Loading branch information
timxu826 authored Dec 31, 2024
2 parents 85a95ce + 517ad68 commit 1cc9af1
Show file tree
Hide file tree
Showing 4,214 changed files with 106,410 additions and 244,625 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions .github/actions/cache/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 48 additions & 0 deletions .github/actions/install_ov_wheels/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: 'Find and install OpenVINO Python wheels'
description: 'Finds the OpenVINO Python wheels suitable for the "python3" executable and installs them'
inputs:
wheels-dir-path:
description: 'Path to the directory in which wheels are located'
required: true
wheels-to-install:
description: 'List of wheel names to install in the form of "openvino openvino_tokenizers"'
runs:
using: 'composite'
steps:
- name: Install OpenVINO Python wheels (Windows)
shell: pwsh
if: runner.os == 'Windows'
run: |
# Get the Python version
$pyVersion = python3 -c "import sys; print(f'{sys.version_info.major}{sys.version_info.minor}')"
foreach ($wheel in $("${{ inputs.wheels-to-install }}" -split ' ')) {
# Search for the python-specific wheel version and install it if exists
$wheelPath = Get-ChildItem -Path ${{ inputs.wheels-dir-path }} -Filter "$wheel-*cp$pyVersion*.whl" | Select-Object -First 1
if ($wheelPath) {
python3 -m pip install $wheelPath.FullName
} else {
# If the python-specific version does not exist, install by name only
$wheelPathByName = Get-ChildItem -Path ${{ inputs.wheels-dir-path }} -Filter "$wheel-*.whl" | Select-Object -First 1
python3 -m pip install $wheelPathByName.FullName
}
}
- name: Install OpenVINO Python wheels (Linux and macOS)
shell: bash
if: runner.os != 'Windows'
run: |
py_version=$(python3 -c "import sys; print(f'{sys.version_info.major}{sys.version_info.minor}')")
for wheel in ${{ inputs.wheels-to-install }}; do
echo "Installing the ${wheel} wheel"
# Search for the python-specific wheel version and install it if exists
wheel_path=$(find ${{ inputs.wheels-dir-path }} -name "$wheel-*cp$py_version*.whl")
echo "Wheel path: ${wheel_path}"
if [ -n "${wheel_path}" ]; then
python3 -m pip install $wheel_path
else
# If the python-specific version does not exist, install by name only
python3 -m pip install ${{ inputs.wheels-dir-path }}/$wheel-*.whl
fi
done
4 changes: 2 additions & 2 deletions .github/actions/openvino_provider/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ runs:
else
ov_package_url=$(curl -s ${{ inputs.nightly_package_source }} | jq -r '.${{ inputs.platform }}_${{ inputs.arch }}')
fi
cd ${{ inputs.install_dir || env.GITHUB_WORKSPACE }}
cd ${{ inputs.install_dir || github.workspace }}
package_basename=$(basename $ov_package_url)
wget $ov_package_url --progress=bar:force:noscroll -O $package_basename
package_folder=${package_basename%.*}
Expand All @@ -196,7 +196,7 @@ runs:
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: ${{ steps.openvino_s3_download.outputs.ov_artifact_name }}
path: ${{ steps.openvino_s3_download.outputs.ov_package_path }}
path: ${{ github.workspace }}/${{ steps.openvino_s3_download.outputs.ov_package_path }}
if-no-files-found: 'error'

- name: Get wheel
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/openvino_provider/get_s3_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ def main(product, version_pattern, platform, arch, folder):
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)}")
if len(matching_files) > 1:
custom_release_build_pattern = fr".*/{version_pattern}/(linux_|windows_|macos_).*/.*"
# Exclude custom release builds, if any, from matches
matching_files = [file for file in matching_files if not re.search(custom_release_build_pattern, file)]
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)
Expand Down
5 changes: 1 addition & 4 deletions .github/actions/setup_python/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ inputs:
runs:
using: 'composite'
steps:

- name: Check if Python is already installed (Linux)
if: ${{ runner.os == 'Linux' }}
shell: bash
Expand Down Expand Up @@ -54,13 +53,11 @@ runs:
with:
python-version: ${{ inputs.version }}

- if: ${{ runner.os == 'macOS' || runner.os == 'Windows' || (runner.os == 'Linux' && runner.arch != 'ARM64' && steps.check_python.outputs.installed == 'false' ) }}
- if: ${{ runner.os == 'macOS' || runner.os == 'Windows' || (runner.os == 'Linux' && runner.arch != 'ARM64' && steps.check_python.outputs.installed == 'false') }}
name: Setup Python ${{ inputs.version }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: ${{ inputs.version }}
env:
PIP_CACHE_DIR: ${{ inputs.self-hosted-runner == 'true' && inputs.pip-cache-path || '' }}

- if: ${{ inputs.should-setup-pip-paths == 'true' && runner.os != 'Windows' }}
name: Setup pip variables (cache and install path)
Expand Down
8 changes: 8 additions & 0 deletions .github/components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ PyTorch_FE:
build:
- CPU
- Python_API
- TOKENIZERS # PyTorch_FE tests depend on tokenizers build

JAX_FE:
revalidate:
Expand All @@ -174,6 +175,7 @@ Python_API:
- OVC
- tools
- TF_FE
- docs_snippets
build:
- CPU
- HETERO
Expand Down Expand Up @@ -242,6 +244,12 @@ tools:
docs:
revalidate: []
build: []

docs_snippets:
revalidate:
- docs_snippets
build:
- Python_API

licensing:
revalidate: []
Expand Down
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,18 @@ updates:
- "mryzhov"
- "ilya-lavrenov"
open-pull-requests-limit: 3

# Docker images
- package-ecosystem: docker
directory: "/"
schedule:
interval: "daily"
time: "09:00"
timezone: "Asia/Dubai"
allow:
- dependency-type: "direct"
assignees:
- "akashchi"
- "mryzhov"
- "ilya-lavrenov"
open-pull-requests-limit: 3
2 changes: 1 addition & 1 deletion .github/dockerfiles/docker_tag
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pr-27430
pr-25673
6 changes: 5 additions & 1 deletion .github/dockerfiles/ov_build/fedora_29/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ FROM ${REGISTRY}/library/fedora:29

USER root

RUN yum update -y && yum install -y \
# dnf configuration
RUN echo "timeout=60" >> /etc/dnf/dnf.conf && \
echo "retries=10" >> /etc/dnf/dnf.conf

RUN dnf update -y && dnf install -y \
git \
curl \
python3 \
Expand Down
5 changes: 4 additions & 1 deletion .github/dockerfiles/ov_build/ubuntu_22_04_riscv/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,13 @@ RUN echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricte

RUN dpkg --add-architecture riscv64 && \
apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/riscv64-sources.list && \
apt-get install -y --no-install-recommends libpython3-dev:riscv64
apt-get install -y --no-install-recommends libpython3-dev:riscv64 && \
apt-get install libgomp1:riscv64 && \
apt-get install libatomic1:riscv64

# Setup pip
ENV PIP_VERSION="24.0"
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \
rm -f get-pip.py

76 changes: 76 additions & 0 deletions .github/dockerfiles/ov_test/debian_10_py310/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
ARG REGISTRY="docker.io"
FROM ${REGISTRY}/library/debian:10.13

USER root

# APT configuration
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf

ENV DEBIAN_FRONTEND="noninteractive" \
TZ="Europe/London"

RUN apt-get update && \
apt-get install \
git \
libc6-dev \
# parallel gzip
pigz \
# Python
python3 \
python3-pip \
python3-dev \
python3-venv \
python3-distutils \
# To build Python 3.10 from source
build-essential \
libffi-dev \
libgdbm-dev \
libc6-dev \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libncurses5-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libxml2-dev \
libxmlsec1-dev \
liblzma-dev \
wget \
curl \
&& \
rm -rf /var/lib/apt/lists/*

# Install openvino dependencies
ADD scripts/install_dependencies/install_openvino_dependencies.sh /install_openvino_dependencies.sh
RUN chmod +x /install_openvino_dependencies.sh && \
/install_openvino_dependencies.sh && \
rm -rf /var/lib/apt/lists/*

# Setup Python 3.10
RUN wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tar.xz

RUN tar -xf Python-3.10.9.tar.xz && \
cd Python-3.10.9 && \
./configure --enable-optimizations && \
make -j 8 && \
make altinstall

# Setup pip
ENV PIP_VERSION="24.0"
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3.10 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \
rm -f get-pip.py

# Use Python 3.10 as default instead of Python 3.7
# Using venv here 'cause other methods to switch the default Python on Ubuntu 20 break both system and wheels build
RUN python3.10 -m venv venv
ENV PATH="/venv/bin:$PATH"

ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION}
ENV PIP_INSTALL_PATH=/venv/lib/python3.10/site-packages
14 changes: 12 additions & 2 deletions .github/dockerfiles/ov_test/fedora_33/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,20 @@ FROM ${REGISTRY}/library/fedora:33

USER root

RUN yum update -y && yum install -y \
# dnf configuration
RUN echo "timeout=60" >> /etc/dnf/dnf.conf && \
echo "retries=10" >> /etc/dnf/dnf.conf

RUN dnf update -y && dnf install -y \
git \
curl \
python3
python3 \
findutils \
ocl-icd \
ocl-icd-devel \
# parallel gzip
pigz \
xz

# Install Node
ENV NODE_VERSION=21.7.3
Expand Down
52 changes: 52 additions & 0 deletions .github/dockerfiles/ov_test/ubuntu_20_04_x64_py313/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
ARG REGISTRY="docker.io"
FROM ${REGISTRY}/library/ubuntu:20.04

USER root

# APT configuration
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf

ENV DEBIAN_FRONTEND="noninteractive" \
TZ="Europe/London"

RUN apt-get update && \
apt-get install software-properties-common && \
add-apt-repository --yes --no-update ppa:git-core/ppa && \
add-apt-repository --yes --no-update ppa:deadsnakes/ppa && \
apt-get update && \
apt-get install \
curl \
git \
gpg-agent \
tzdata \
# parallel gzip
pigz \
# Python
python3.13-dev \
python3.13-venv \
&& \
rm -rf /var/lib/apt/lists/*

# Install openvino dependencies
ADD scripts/install_dependencies/install_openvino_dependencies.sh /install_openvino_dependencies.sh
RUN chmod +x /install_openvino_dependencies.sh && \
/install_openvino_dependencies.sh && \
rm -rf /var/lib/apt/lists/*

# Setup pip
ENV PIP_VERSION="24.0"
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \
python3.13 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \
rm -f get-pip.py

# Use Python 3.13 as default instead of Python 3.8
# Using venv here 'cause other methods to switch the default Python on Ubuntu 20 break both system and wheels build
RUN python3.13 -m venv venv
ENV PATH="/venv/bin:$PATH"

ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION}
ENV PIP_INSTALL_PATH=/venv/lib/python3.13/site-packages
4 changes: 3 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,12 @@
'category: docs':
- '**/*.md'
- any: ['docs/**/*',
'!docs/snippets/**/*']
'!docs/snippets/**/*',
'!docs/articles_en/assets/snippets/**/*']

'category: docs_snippets':
- 'docs/snippets/**/*'
- 'docs/articles_en/assets/snippets/**/*'

'category: extensions':
- 'src/core/include/openvino/core/extension.hpp'
Expand Down
Loading

0 comments on commit 1cc9af1

Please sign in to comment.