Skip to content

Commit 1b148c5

Browse files
authored
Merge branch 'master' into fix_mem_issue
2 parents 36228a4 + 3e2b358 commit 1b148c5

File tree

1,445 files changed

+36165
-21809
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,445 files changed

+36165
-21809
lines changed

.github/actions/common/constants.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class EventType(Enum):
1111
'public_linux_fedora_29_x86_64_release',
1212
'public_linux_ubuntu_20_04_x86_64_release',
1313
'public_linux_ubuntu_22_04_arm64_release',
14+
'public_linux_ubuntu_22_04_arm64_cross_compile_release',
1415
'public_linux_ubuntu_22_04_x86_64_release',
1516
'public_linux_ubuntu_22_04_dpcpp_x86_64_release',
1617
'public_linux_ubuntu_24_04_x86_64_release',
@@ -21,6 +22,7 @@ class EventType(Enum):
2122
'public_manylinux2014_x86_64_release',
2223
'public_manylinux_2_28_x86_64_release',
2324
'public_macos_x86_64_release',
25+
'public_macos_arm64_release',
2426
)
2527
ProductType = Enum('ProductType', {t.upper(): t for t in productTypes})
2628

@@ -31,11 +33,13 @@ class EventType(Enum):
3133
'debian10_armhf',
3234
'rhel8_x86_64',
3335
'ubuntu22_arm64',
36+
'ubuntu22_arm64_cross_compile',
3437
'ubuntu20_x86_64',
3538
'ubuntu22_x86_64',
3639
'ubuntu24_x86_64',
3740
'macos_12_6_arm64',
3841
'macos_12_6_x86_64',
42+
'macos_14_7_arm64',
3943
'windows_x86_64',
4044
)
4145
PlatformKey = Enum('PlatformKey', {t.upper(): t for t in platformKeys})
@@ -44,10 +48,12 @@ class EventType(Enum):
4448
PlatformKey.DEBIAN10_ARMHF: ProductType.PUBLIC_LINUX_DEBIAN_10_ARM_RELEASE,
4549
PlatformKey.UBUNTU20_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_20_04_X86_64_RELEASE,
4650
PlatformKey.UBUNTU22_ARM64: ProductType.PUBLIC_LINUX_UBUNTU_22_04_ARM64_RELEASE,
51+
PlatformKey.UBUNTU22_ARM64_CROSS_COMPILE: ProductType.PUBLIC_LINUX_UBUNTU_22_04_ARM64_CROSS_COMPILE_RELEASE,
4752
PlatformKey.UBUNTU22_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_22_04_X86_64_RELEASE,
4853
PlatformKey.UBUNTU24_X86_64: ProductType.PUBLIC_LINUX_UBUNTU_24_04_X86_64_RELEASE,
4954
PlatformKey.WINDOWS_X86_64: ProductType.PUBLIC_WINDOWS_VS2022_RELEASE,
5055
PlatformKey.MACOS_12_6_X86_64: ProductType.PUBLIC_MACOS_X86_64_RELEASE,
56+
PlatformKey.MACOS_14_7_ARM64: ProductType.PUBLIC_MACOS_ARM64_RELEASE,
5157
PlatformKey.CENTOS7_X86_64: ProductType.PUBLIC_MANYLINUX2014_X86_64_RELEASE,
5258
PlatformKey.ALMALINUX8_X86_64: ProductType.PUBLIC_MANYLINUX_2_28_X86_64_RELEASE,
5359
}

.github/dockerfiles/docker_tag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
pr-31514
1+
pr-31611
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
ARG REGISTRY="docker.io"
2+
FROM ${REGISTRY}/library/ubuntu:22.04
3+
4+
USER root
5+
6+
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]
7+
8+
# APT configuration
9+
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \
10+
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \
11+
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \
12+
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf
13+
14+
# Arm libraries are now in ports.ubuntu.com
15+
RUN sed -i 's/^deb /deb [arch=amd64] /g' /etc/apt/sources.list
16+
RUN echo -e "\ndeb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main universe\ndeb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main universe" >> /etc/apt/sources.list
17+
18+
ENV DEBIAN_FRONTEND="noninteractive" \
19+
TZ="Europe/London"
20+
21+
RUN dpkg --add-architecture arm64 && \
22+
apt-get update && \
23+
apt-get install software-properties-common && \
24+
apt-get update && \
25+
apt-get install \
26+
pciutils \
27+
dmidecode \
28+
clinfo \
29+
lshw \
30+
procps \
31+
g++ \
32+
ninja-build \
33+
smbclient \
34+
software-properties-common \
35+
crossbuild-essential-arm64 \
36+
libpython3-dev:arm64 \
37+
python3-pip \
38+
libsqlite3-dev \
39+
libsqlite3-dev:arm64 \
40+
zlib1g-dev:arm64 \
41+
libgflags2.2:arm64 \
42+
libgflags-dev:arm64 \
43+
libpugixml1v5:arm64 \
44+
libtbb2:arm64 \
45+
nlohmann-json3-dev \
46+
libpugixml-dev:arm64 \
47+
libtbb-dev:arm64 \
48+
shellcheck \
49+
lintian \
50+
libffi-dev \
51+
libssl-dev \
52+
chrpath \
53+
libssl-dev \
54+
libprotobuf-dev \
55+
libprotoc-dev \
56+
protobuf-compiler \
57+
lcov \
58+
# parallel gzip
59+
pigz \
60+
# For ARM CPU plugin
61+
scons \
62+
# To extract OpenCV .xz archives
63+
liblzma-dev \
64+
# For wheel packaging
65+
patchelf \
66+
# check python wheel for duplicated files
67+
fdupes \
68+
# Need to curl from pypa without warnings
69+
openssl \
70+
# For Java API
71+
default-jdk \
72+
# To build documentation
73+
graphviz \
74+
texlive \
75+
liblua5.2-0 \
76+
# JS API
77+
libgtk-3-0 \
78+
libgbm1 \
79+
&& \
80+
rm -rf /var/lib/apt/lists/*
81+
82+
# Install build dependencies
83+
ADD install_build_dependencies.sh /install_build_dependencies.sh
84+
RUN chmod +x /install_build_dependencies.sh && \
85+
bash -e /install_build_dependencies.sh && \
86+
rm -rf /var/lib/apt/lists/*
87+
88+
# For cross-compilation for ARM64. If installed in the first `apt-get install` command, it will be removed by the install_build_dependencies.sh script
89+
RUN apt-get update && \
90+
apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
91+
92+
# Install sscache
93+
ARG SCCACHE_VERSION="v0.7.5"
94+
ENV SCCACHE_HOME="/opt/sccache" \
95+
SCCACHE_PATH="/opt/sccache/sccache"
96+
97+
RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \
98+
SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" && \
99+
curl -SLO https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${SCCACHE_ARCHIVE} && \
100+
tar -xzf ${SCCACHE_ARCHIVE} --strip-components=1 && rm ${SCCACHE_ARCHIVE}
101+
102+
ENV PIP_VERSION="24.0"
103+
# To cross-compile Python 3.11 we need to first compile it for the host
104+
RUN curl -O https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz && \
105+
tar -xf Python-3.11.3.tar.xz && \
106+
cd Python-3.11.3 && ./configure && make -j4 && make altinstall && \
107+
curl https://bootstrap.pypa.io/get-pip.py | python3.11 - --no-cache-dir pip==${PIP_VERSION} numpy cython crossenv
108+
109+
# Cross-compile Python 3.11 for ARM64
110+
RUN cd Python-3.11.3 && make distclean && \
111+
./configure \
112+
--host=aarch64-linux-gnu \
113+
--build=x86_64-linux-gnu \
114+
--disable-ipv6 \
115+
--enable-shared \
116+
--prefix=/opt/python3.11_arm \
117+
--with-build-python \
118+
ac_cv_file__dev_ptmx=no \
119+
ac_cv_file__dev_ptc=no && \
120+
make -j4 && make altinstall
121+
122+
ENV PATH="$SCCACHE_HOME:$PATH"
123+
ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION}
124+
125+
# Use Python 3.11 as default
126+
# Using venv here because other methods to switch the default Python break both system and wheels build
127+
RUN python3.11 -m venv venv
128+
ENV PATH="/venv/bin:$PATH"
129+
130+
# Install Node
131+
ENV NODE_VERSION=21.7.3
132+
ENV NVM_DIR=/.nvm
133+
RUN mkdir -p $NVM_DIR
134+
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
135+
RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
136+
ENV PATH="$NVM_DIR/versions/node/v${NODE_VERSION}/bin/:${PATH}"
137+
138+
# Install doxygen
139+
ENV DOXYGEN_HOME="/opt/doxygen"
140+
ENV DOXYGEN_VERSION='1.9.6'
141+
RUN mkdir -p ${DOXYGEN_HOME} && cd ${DOXYGEN_HOME} && wget https://www.doxygen.nl/files/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz && \
142+
tar -I pigz -xf doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz && \
143+
rm -f doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz
144+
ENV PATH="${DOXYGEN_HOME}/doxygen-$DOXYGEN_VERSION/bin:$PATH"

.github/dockerfiles/ov_test/ubuntu_22_04_x64/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ RUN apt-get update && \
3232
python3.11-venv \
3333
python3.11-distutils \
3434
libhdf5-dev \
35+
# JS API
36+
xvfb \
37+
libgtk-3-0 \
38+
libgbm1 \
39+
libnss3 \
3540
# For TF Models tests
3641
wget \
3742
# libGL for PyTorch Models tests

.github/scripts/workflow_rerun/errors_to_look_for.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,5 +134,9 @@
134134
{
135135
"error_text": "THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE",
136136
"ticket": 163749
137+
},
138+
{
139+
"error_text": "OperationStopped:",
140+
"ticket": 171334
137141
}
138142
]

.github/scripts/workflow_rerun/log_analyzer.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ def _collect_log_files(self) -> None:
8181
for log_file in _file.iterdir():
8282
self._log_files.append(LogFile(file_name=log_file.name,
8383
path=log_file.resolve()))
84+
elif _file.suffix == '.txt':
85+
self._log_files.append(LogFile(file_name=_file.name,
86+
path=_file.resolve()))
8487

8588
def _is_error_in_log(self,
8689
error_to_look_for: str,

.github/scripts/workflow_rerun/tests/integration_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ def test_log_collection_and_analysis(self) -> None:
4848
path_to_log_archive=log_archive_path,
4949
path_to_errors_file=self.errors_to_look_for_file,
5050
)
51+
self.assertTrue(len(analyzer._log_files) > 0)
5152
analyzer.analyze()
5253
if analyzer.found_matching_error:
53-
print(f'Found matrching error, ticket: {analyzer.found_error_ticket}')
54-
55-
54+
print(f'Found matching error, ticket: {analyzer.found_error_ticket}')
55+
5656
def tearDown(self) -> None:
5757
self.github.close()

.github/workflows/clang_tidy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ jobs:
113113

114114
Build:
115115
needs: [Docker, Smart_CI]
116-
if: "!needs.smart_ci.outputs.skip_workflow"
116+
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
117117
timeout-minutes: 150
118118
defaults:
119119
run:
@@ -180,7 +180,7 @@ jobs:
180180

181181
Build-aarch64:
182182
needs: [Docker_Arm, Smart_CI]
183-
if: "!needs.smart_ci.outputs.skip_workflow"
183+
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
184184
timeout-minutes: 150
185185
defaults:
186186
run:
@@ -249,7 +249,7 @@ jobs:
249249

250250
Build-riscv64:
251251
needs: [Docker, Smart_CI]
252-
if: "!needs.smart_ci.outputs.skip_workflow"
252+
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
253253
timeout-minutes: 150
254254
defaults:
255255
run:

.github/workflows/code_style.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ jobs:
4242
level: warning
4343
fail_level: error
4444
filter_mode: nofilter
45-
exclude: |
46-
"*/thirdparty/*"
47-
"./temp/*"
4845

4946
clang-format-aarch64:
5047
runs-on: ubuntu-24.04
@@ -81,9 +78,6 @@ jobs:
8178
level: warning
8279
fail_level: error
8380
filter_mode: nofilter
84-
exclude: |
85-
"*/thirdparty/*"
86-
"./temp/*"
8781

8882
clang-format-riscv64:
8983
runs-on: ubuntu-24.04
@@ -119,9 +113,6 @@ jobs:
119113
level: warning
120114
fail_level: error
121115
filter_mode: nofilter
122-
exclude: |
123-
"*/thirdparty/*"
124-
"./temp/*"
125116

126117
ShellCheck:
127118
runs-on: ubuntu-22.04

.github/workflows/job_build_linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ jobs:
402402
403403
- name: Store artifacts to a shared drive
404404
id: store_artifacts
405-
if: ${{ always() }}
405+
if: ${{ inputs.event-name != 'schedule' }}
406406
uses: ./openvino/.github/actions/store_artifacts
407407
with:
408408
artifacts: |

0 commit comments

Comments
 (0)