Skip to content

Commit 2aa1141

Browse files
authored
Merge branch 'master' into vllm
2 parents f1b5fce + 0799163 commit 2aa1141

File tree

1,272 files changed

+40723
-12488
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,272 files changed

+40723
-12488
lines changed

.github/CODEOWNERS

+6-1
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,14 @@
2929
/src/bindings/python/ @openvinotoolkit/openvino-ie-python-api-maintainers
3030
/src/bindings/c/ @openvinotoolkit/openvino-c-api-maintainers
3131
/src/bindings/js/ @openvinotoolkit/openvino-js-api-maintainers
32-
/src/common/*transformations/ @openvinotoolkit/openvino-ie-transformations-maintainers
3332
/src/core/ @openvinotoolkit/openvino-ngraph-maintainers
3433

34+
# OpenVINO Transformations
35+
/src/common/*transformations/ @openvinotoolkit/openvino-ie-transformations-maintainers
36+
/src/core/src/pass/ @openvinotoolkit/openvino-ie-transformations-maintainers
37+
/src/core/src/pattern/ @openvinotoolkit/openvino-ie-transformations-maintainers
38+
/src/core/include/openvino/pass/ @openvinotoolkit/openvino-ie-transformations-maintainers
39+
3540
# OpenVINO Samples:
3641
/samples/c/ @openvinotoolkit/openvino-samples-maintainers @openvinotoolkit/openvino-c-api-maintainers
3742
/samples/cpp/ @openvinotoolkit/openvino-samples-maintainers @openvinotoolkit/openvino-maintainers

.github/components.yml

-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ CPU:
2727
revalidate:
2828
- C_API
2929
- Python_API
30-
- JS_API
3130
- samples
3231
- ONNX_RT
3332
- PyTorch_FE
@@ -106,7 +105,6 @@ IR_FE:
106105
revalidate:
107106
- C_API
108107
- Python_API
109-
- JS_API
110108
- samples
111109
build:
112110
- CPU
@@ -176,8 +174,6 @@ Python_API:
176174
- PyTorch_FE
177175

178176
JS_API:
179-
revalidate:
180-
- samples
181177
build:
182178
- CPU
183179
- IR_FE

.github/labeler.yml

+3
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,9 @@
166166
'category: transformations':
167167
- 'src/common/transformations/**/*'
168168
- 'src/common/offline_transformations/**/*'
169+
- 'src/core/pattern/**/*'
170+
- 'src/core/pass/**/*'
171+
- 'src/core/include/openvino/pass/**/*'
169172

170173
'category: licensing':
171174
- 'licensing/**/*'

.github/scripts/collect_github_metrics.py

+62-31
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,49 @@
66
import logging
77
import psycopg2
88
import dateutil
9+
import argparse
910

1011
def init_logger():
1112
LOGLEVEL = os.environ.get('LOGLEVEL', 'INFO').upper()
1213
logging.basicConfig(level=LOGLEVEL,
1314
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
1415
datefmt='%m-%d-%Y %H:%M:%S')
1516

17+
def make_parser():
18+
parser = argparse.ArgumentParser()
19+
parser.add_argument('-r', '--repository-name', type=str, required=True,
20+
help='Repository name in OWNER/REPOSITORY format')
21+
parser.add_argument('--run-id', type=str, required=True,
22+
help='Workflow Run ID')
23+
24+
return parser
25+
1626
def create_db_tables(conn, cur):
17-
cur.execute('''CREATE TABLE IF NOT EXISTS github_workflow_runs_test(
18-
id SERIAL,
19-
run_id BIGINT PRIMARY KEY,
27+
cur.execute('''CREATE TABLE IF NOT EXISTS workflow_runs(
28+
id SERIAL PRIMARY KEY,
29+
run_id BIGINT,
2030
html_url TEXT,
2131
name VARCHAR(255),
2232
run_started_at TIMESTAMP,
33+
created_at TIMESTAMP,
34+
updated_at TIMESTAMP,
2335
triggering_actor_login VARCHAR(255),
2436
conclusion VARCHAR(25),
25-
run_number INT,
2637
event VARCHAR(50),
2738
run_attempt INT,
2839
repository_full_name VARCHAR(255),
2940
head_repository_full_name VARCHAR(255),
3041
head_branch VARCHAR(255),
3142
status VARCHAR(25),
3243
display_title TEXT,
33-
path TEXT
44+
path TEXT,
45+
total_duration_seconds INT
3446
);
3547
''')
36-
cur.execute('''CREATE TABLE IF NOT EXISTS github_workflow_jobs_test(
37-
id SERIAL,
38-
job_id BIGINT PRIMARY KEY,
39-
parent_run_id BIGINT REFERENCES github_workflow_runs_test(run_id),
48+
cur.execute('''CREATE TABLE IF NOT EXISTS workflow_jobs(
49+
id SERIAL PRIMARY KEY,
50+
job_id BIGINT,
51+
parent_run_id BIGINT,
4052
html_url TEXT,
4153
name VARCHAR(255),
4254
created_at TIMESTAMP,
@@ -47,12 +59,14 @@ def create_db_tables(conn, cur):
4759
runner_name VARCHAR(255),
4860
status VARCHAR(25),
4961
conclusion VARCHAR(25),
50-
head_branch VARCHAR(255)
62+
head_branch VARCHAR(255),
63+
run_attempt INT,
64+
workflow_name TEXT
5165
);
5266
''')
53-
cur.execute('''CREATE TABLE IF NOT EXISTS github_workflow_steps_test(
67+
cur.execute('''CREATE TABLE IF NOT EXISTS workflow_steps(
5468
id SERIAL PRIMARY KEY,
55-
parent_job_id BIGINT REFERENCES github_workflow_jobs_test(job_id),
69+
parent_job_id BIGINT,
5670
name VARCHAR(255),
5771
conclusion VARCHAR(25),
5872
number INT,
@@ -65,20 +79,16 @@ def create_db_tables(conn, cur):
6579

6680
def main():
6781
init_logger()
68-
82+
parser = make_parser()
83+
args = parser.parse_args()
6984
logger = logging.getLogger(__name__)
7085

7186
github_token = os.environ.get('GITHUB_TOKEN')
7287
if not github_token:
7388
raise ValueError('GITHUB_TOKEN environment variable is not set!')
7489

75-
run_id = os.environ.get('RUN_ID')
76-
if not run_id:
77-
raise ValueError('RUN_ID environment variable is not set!')
78-
79-
repo_name = os.environ.get('GITHUB_REPOSITORY')
80-
if not repo_name:
81-
raise ValueError('GITHUB_REPOSITORY environment variable is not set!')
90+
run_id = args.run_id
91+
repo_name = args.repository_name
8292

8393

8494
# this should be specified in runner's env
@@ -102,18 +112,31 @@ def main():
102112
repo = g.get_repo(repo_name)
103113

104114
run = repo.get_workflow_run(int(run_id))
105-
106-
workflow_data_query = f'''INSERT INTO github_workflow_runs_test(
115+
logger.debug('Processing run ID %s - %s', run_id, run.name)
116+
if run.status != 'completed':
117+
logger.error('Run %s is not completed! Only completed runs should be in the database', run_id)
118+
raise SystemExit(1)
119+
120+
# We rely on the following assumptions:
121+
# - The workflow run is completed. When run.status != 'completed' we should not add it to the database
122+
# theoretically the second attempt can be triggerred right after the completion of the first one
123+
# or while the runner which executes this script is deploying
124+
#
125+
# - Job's queued duration equals "job.started_at - job.created_at" if started_at > created_at.
126+
# Otherwise the job should not be added to the database
127+
total_duration_seconds = round(run.timing().run_duration_ms / 1000)
128+
workflow_data_query = f'''INSERT INTO workflow_runs(
107129
run_id, html_url, name,
108-
run_started_at, triggering_actor_login, conclusion,
109-
run_number, event, run_attempt, repository_full_name,
110-
head_branch, display_title, path)
130+
run_started_at, created_at, updated_at, triggering_actor_login, conclusion,
131+
event, run_attempt, repository_full_name,
132+
head_branch, display_title, path, total_duration_seconds)
111133
VALUES(
112134
'{run_id}', '{run.html_url}', '{run.name}', '{run.run_started_at}',
135+
'{run.created_at}', '{run.updated_at}',
113136
'{run.raw_data['triggering_actor']['login']}',
114-
'{run.conclusion}', '{run.run_number}', '{run.event}',
137+
'{run.conclusion}', '{run.event}',
115138
'{run.run_attempt}', '{run.raw_data['repository']['full_name']}',
116-
'{run.head_branch}', '{run.display_title}', '{run.path}'
139+
'{run.head_branch}', '{run.display_title}', '{run.path}', '{total_duration_seconds}'
117140
);
118141
'''
119142

@@ -122,10 +145,15 @@ def main():
122145

123146
for job in run.jobs():
124147
job_id = job.id
148+
logger.debug('Processing job %s', job.name)
125149
queued_duration_seconds = 0
126150
duration_seconds = 0
127151

128152
job_created_at_date = dateutil.parser.parse(job.raw_data['created_at'])
153+
if job_created_at_date > job.started_at:
154+
logger.warning('Skipping job %s of run %s - most likely a stub \
155+
job created after workflow restart', job.name, run_id)
156+
continue
129157

130158
queued_duration_timedelta = job.started_at - job_created_at_date
131159
queued_duration_seconds = round(queued_duration_timedelta.total_seconds())
@@ -134,27 +162,30 @@ def main():
134162
duration_seconds = round(duration_timedelta.total_seconds())
135163

136164
job_data_query = f'''
137-
INSERT INTO github_workflow_jobs_test(
165+
INSERT INTO workflow_jobs(
138166
job_id, parent_run_id, html_url, name,
139167
created_at, started_at, completed_at,
140168
queued_duration_seconds, duration_seconds,
141-
runner_name, status, conclusion, head_branch)
169+
runner_name, status, conclusion, head_branch,
170+
run_attempt, workflow_name
171+
)
142172
VALUES(
143173
'{job_id}', '{run_id}', '{job.html_url}', '{job.name}',
144174
'{job.raw_data['created_at']}', '{job.started_at}', '{job.completed_at}',
145175
'{queued_duration_seconds}', '{duration_seconds}',
146176
'{job.raw_data['runner_name']}', '{job.status}', '{job.conclusion}',
147-
'{job.raw_data['head_branch']}'
177+
'{job.raw_data['head_branch']}', '{job.raw_data['run_attempt']}', '{job.raw_data['workflow_name']}'
148178
);
149179
'''
150180
logger.debug('Job query: %s', job_data_query)
151181
cur.execute(job_data_query)
152182
for step in job.steps:
183+
logger.debug('Processing step %s', step.name)
153184
duration_seconds_timedelta = step.completed_at - step.started_at
154185
duration_seconds = round(duration_seconds_timedelta.total_seconds())
155186

156187
step_data_query = f'''
157-
INSERT INTO github_workflow_steps_test(
188+
INSERT INTO workflow_steps(
158189
parent_job_id, name, conclusion,
159190
number, started_at, completed_at,
160191
duration_seconds)

.github/workflows/android_arm64.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
apt --assume-yes install ccache scons ninja-build build-essential python3-pip
117117
118118
# vcpkg requires cmake 3.19 or later
119-
python3 -m pip install -U pip cmake
119+
python3 -m pip install -U pip cmake~=3.28.0
120120
# vcpkg's tool dependencies
121121
apt --assume-yes install curl zip unzip tar
122122
# vcpkg 'python3' port dependencies

.github/workflows/code_snippets.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,5 @@ jobs:
3939
- name: CMake configure
4040
run: cmake -DCMAKE_BUILD_TYPE=Release -DTHREADING=SEQ -B build
4141

42-
- name: Get number of CPU cores
43-
uses: SimenB/github-actions-cpu-cores@v2
44-
id: cpu-cores
45-
4642
- name: Build snippets
47-
run: cmake --build build --target openvino_docs_snippets --parallel ${{ steps.cpu-cores.outputs.count }}
43+
run: cmake --build build --target openvino_docs_snippets --parallel

.github/workflows/coverage.yml

-6
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ jobs:
5454
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_tf2.txt
5555
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_dev.txt
5656
57-
- name: Get number of CPU cores
58-
uses: SimenB/github-actions-cpu-cores@v2
59-
id: cpu-cores
60-
6157
- name: Build OpenVINO with CMake
6258
uses: ashutoshvarma/action-cmake-build@master
6359
with:
@@ -81,7 +77,6 @@ jobs:
8177
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
8278
-DENABLE_SYSTEM_SNAPPY=ON
8379
build-type: Release
84-
parallel: ${{ steps.cpu-cores.outputs.count }}
8580

8681
- name: Install wheel packages
8782
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
@@ -129,7 +124,6 @@ jobs:
129124
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
130125
-DCMAKE_C_LINKER_LAUNCHER=ccache
131126
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
132-
parallel: ${{ steps.cpu-cores.outputs.count }}
133127
134128
135129
- name: Print info

.github/workflows/job_cpu_functional_tests.yml

+2
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ jobs:
100100
if [[ -f "${INSTALL_DIR}/setupvars.sh" ]]; then
101101
source ${INSTALL_DIR}/setupvars.sh
102102
fi
103+
# Needed as ze_loader.so is under INSTALL_TEST_DIR
104+
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALL_TEST_DIR}
103105
104106
python3 ${PARALLEL_TEST_SCRIPT} -e ${INSTALL_TEST_DIR}/ov_cpu_func_tests -c ${PARALLEL_TEST_CACHE} -w ${INSTALL_TEST_DIR} -s suite -rf 0 -- --gtest_print_time=1 --gtest_filter=*smoke*
105107
timeout-minutes: 25

.github/workflows/job_cxx_unit_tests.yml

+6
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ jobs:
215215
--gtest_filter=*smoke* \
216216
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TemplateFuncTests.xml
217217
218+
- name: OV utils unit tests
219+
run: |
220+
source ${INSTALL_DIR}/setupvars.sh
221+
${INSTALL_TEST_DIR}/ov_util_tests --gtest_print_time=1 \
222+
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_util_tests.xml
223+
218224
- name: OpenVINO C API tests
219225
if: fromJSON(inputs.affected-components).C_API.test
220226
run: |

.github/workflows/job_python_unit_tests.yml

+2-11
Original file line numberDiff line numberDiff line change
@@ -246,15 +246,6 @@ jobs:
246246
TEST_PRECISION: FP32
247247
PYTORCH_TRACING_MODE: TORCHFX
248248

249-
- name: PyTorch torch.compile TORCHSCRIPT Layer Tests
250-
if: ${{ fromJSON(inputs.affected-components).PyTorch_FE.test && runner.os != 'macOS' && runner.arch != 'ARM64' }} # Ticket: 126287
251-
run: |
252-
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit_ts_backend --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
253-
env:
254-
TEST_DEVICE: CPU
255-
TEST_PRECISION: FP32
256-
PYTORCH_TRACING_MODE: TORCHSCRIPT
257-
258249
- name: ONNX Layer Tests
259250
if: fromJSON(inputs.affected-components).ONNX_FE.test
260251
run: |
@@ -270,7 +261,7 @@ jobs:
270261
run: |
271262
# requires 'unit_tests' from 'mo'
272263
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
273-
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ -m precommit_tf_fe -n logical --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
264+
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ -m precommit -n logical --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
274265
env:
275266
TEST_DEVICE: CPU
276267
TEST_PRECISION: FP16
@@ -280,7 +271,7 @@ jobs:
280271
run: |
281272
# requires 'unit_tests' from 'mo'
282273
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
283-
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
274+
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ -n logical -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
284275
env:
285276
TEST_DEVICE: CPU
286277
TEST_PRECISION: FP16

.github/workflows/job_tensorflow_models_tests.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,12 @@ jobs:
114114
- name: TensorFlow Models Tests - TF FE
115115
run: |
116116
export PYTHONPATH=${MODEL_HUB_TESTS_INSTALL_DIR}:$PYTHONPATH
117-
python3 -m pytest ${MODEL_HUB_TESTS_INSTALL_DIR}/tensorflow/ -m ${{ inputs.model_scope }} --html=${INSTALL_TEST_DIR}/TEST-tf_fe_models_${{ inputs.model_scope }}.html --self-contained-html -v
117+
python3 -m pytest ${MODEL_HUB_TESTS_INSTALL_DIR}/tensorflow/test_tf_convert_model.py -m ${{ inputs.model_scope }} \
118+
--html=${INSTALL_TEST_DIR}/TEST-tf_fe_models_${{ inputs.model_scope }}.html --self-contained-html -v
119+
# decouple notebook tests due to GitHub issue in tensorflow_hub https://github.com/tensorflow/hub/issues/903
120+
# and use WA to switch to (legacy) Keras 2
121+
TF_USE_LEGACY_KERAS=1 python3 -m pytest ${MODEL_HUB_TESTS_INSTALL_DIR}/tensorflow/test_tf_hub_api_notebooks.py -m ${{ inputs.model_scope }} \
122+
--html=${INSTALL_TEST_DIR}/TEST-tf_fe_models_notebooks_${{ inputs.model_scope }}.html --self-contained-html -v
118123
env:
119124
TEST_DEVICE: CPU
120125

.github/workflows/linux.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ jobs:
100100
repository: 'openvinotoolkit/openvino_contrib'
101101
path: ${{ env.OPENVINO_CONTRIB_REPO }}
102102
submodules: 'true'
103-
ref: 'master'
103+
# ref: 'master'
104+
ref: 3eeb2326e0d974f61a83f8e67d37e918ccfa1edd
104105

105106
#
106107
# Print system info

.github/workflows/linux_arm64.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ jobs:
100100
repository: 'openvinotoolkit/openvino_contrib'
101101
path: ${{ env.OPENVINO_CONTRIB_REPO }}
102102
submodules: 'true'
103-
ref: 'master'
103+
# ref: 'master'
104+
ref: 3eeb2326e0d974f61a83f8e67d37e918ccfa1edd
104105

105106
#
106107
# Print system info
@@ -172,6 +173,7 @@ jobs:
172173
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
173174
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
174175
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
176+
-DOV_CPU_AARCH64_USE_MULTI_ISA=OFF \
175177
-S ${OPENVINO_REPO} \
176178
-B ${BUILD_DIR}
177179

.github/workflows/linux_conditional_compilation.yml

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ jobs:
212212
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \
213213
tests/ov_cpu_func_tests \
214214
tests/libopenvino_template_extension.so \
215+
tests/libze_loader.so* \
215216
tests/functional_test_utils/layer_tests_summary/*
216217
popd
217218

0 commit comments

Comments
 (0)