@@ -33,12 +33,16 @@ permissions: read-all
33
33
34
34
env :
35
35
PYTHON_VERSION : ' 3.11'
36
+ MANIFEST_FILE : manifest.yml
37
+ PRODUCT_TYPE : public_macos_x86_64_release
36
38
37
39
jobs :
40
+
38
41
Smart_CI :
39
42
runs-on : ubuntu-latest
40
43
outputs :
41
44
affected_components : " ${{ steps.smart_ci.outputs.affected_components }}"
45
+ changed_components : " ${{ steps.smart_ci.outputs.changed_components }}"
42
46
skip_workflow : " ${{ steps.smart_ci.outputs.skip_workflow }}"
43
47
steps :
44
48
- name : checkout action
59
63
repo_token : ${{ secrets.GITHUB_TOKEN }}
60
64
skip_when_only_listed_labels_set : ' docs'
61
65
skip_when_only_listed_files_changed : ' *.md,*.rst,*.png,*.jpg,*.svg'
62
-
66
+
63
67
Build :
64
68
needs : Smart_CI
65
69
timeout-minutes : 150
78
82
INSTALL_DIR : ${{ github.workspace }}/openvino_install
79
83
INSTALL_DIR_JS : ${{ github.workspace }}/openvino_install/js
80
84
INSTALL_TEST_DIR : ${{ github.workspace }}/tests_install
85
+ DEVELOPER_PACKAGE_DIR : ${{ github.workspace }}/developer_package_install
81
86
INSTALL_WHEELS_DIR : ${{ github.workspace }}/install/wheels
82
87
BUILD_DIR : ${{ github.workspace }}/build
83
88
if : " !needs.smart_ci.outputs.skip_workflow"
@@ -136,7 +141,7 @@ jobs:
136
141
#
137
142
138
143
- name : Setup ccache
139
- uses : hendrikmuhs/ccache-action@53911442209d5c18de8a31615e0923161e435875 # v1.2.16
144
+ uses : hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17
140
145
with :
141
146
max-size : " 2000M"
142
147
# Should save cache only if run in the master branch of the base repo
@@ -147,6 +152,18 @@ jobs:
147
152
restore-keys : |
148
153
${{ runner.os }}-${{ runner.arch }}-main
149
154
155
+ - name : Generate product manifest and set CI_BUILD_NUMBER & CI_BUILD_DEV_TAG
156
+ id : create_manifest
157
+ uses : ./openvino/.github/actions/create_manifest
158
+ with :
159
+ repos : |
160
+ ${{ env.OPENVINO_REPO }}
161
+ ${{ env.OPENVINO_CONTRIB_REPO }}
162
+ product_type : ${{ env.PRODUCT_TYPE }}
163
+ target_arch : ${{ runner.arch }}
164
+ build_type : ' release'
165
+ save_to : ${{ github.workspace }}/${{ env.MANIFEST_FILE }}
166
+
150
167
- name : CMake configure
151
168
run : |
152
169
cmake \
@@ -171,17 +188,22 @@ jobs:
171
188
172
189
- name : Cmake install - OpenVINO
173
190
run : |
174
- cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
175
- cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_TEST_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}/cmake_install.cmake
191
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR }}
192
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_TEST_DIR }} --component tests
193
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.DEVELOPER_PACKAGE_DIR }} --component developer_package
194
+ working-directory : ${{ env.BUILD_DIR }}
176
195
177
- - name : Pack Artifacts
178
- run : |
179
- pushd ${{ env.INSTALL_DIR }}
180
- tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_package.tar.gz
181
- popd
182
- pushd ${{ env.INSTALL_TEST_DIR }}
183
- tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
184
- popd
196
+ - name : Pack openvino_package
197
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_package.tar.gz
198
+ working-directory : ${{ env.INSTALL_DIR }}
199
+
200
+ - name : Pack openvino_developer_package
201
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
202
+ working-directory : ${{ env.DEVELOPER_PACKAGE_DIR }}
203
+
204
+ - name : Pack openvino_tests
205
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
206
+ working-directory : ${{ env.INSTALL_TEST_DIR }}
185
207
186
208
# Setup additional Python versions for wheels building
187
209
- name : Setup Python 3.9
@@ -224,7 +246,7 @@ jobs:
224
246
version : ${{ env.PYTHON_VERSION }}
225
247
should-setup-pip-paths : ' false'
226
248
self-hosted-runner : ' false'
227
-
249
+
228
250
- name : Cmake & Build - OpenVINO Contrib
229
251
run : |
230
252
cmake \
@@ -275,13 +297,30 @@ jobs:
275
297
name : openvino_tests
276
298
path : ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
277
299
if-no-files-found : ' error'
300
+
301
+ - name : Upload openvino developer package
302
+ if : ${{ always() }}
303
+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
304
+ with :
305
+ name : openvino_developer_package
306
+ path : ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
307
+ if-no-files-found : ' error'
308
+
278
309
- name : Upload openvino js package
279
310
if : fromJSON(needs.smart_ci.outputs.affected_components).JS_API
280
311
uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
281
312
with :
282
313
name : openvino_js_package
283
314
path : ${{ env.BUILD_DIR }}/openvino_js_package.tar.gz
284
315
if-no-files-found : ' error'
316
+
317
+ - name : Upload product manifest
318
+ if : ${{ always() }}
319
+ uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
320
+ with :
321
+ name : openvino_package_manifest
322
+ path : ${{ github.workspace }}/${{ env.MANIFEST_FILE }}
323
+ if-no-files-found : ' error'
285
324
286
325
Samples :
287
326
needs : [ Build, Smart_CI ]
@@ -377,3 +416,61 @@ jobs:
377
416
with :
378
417
runner : ' macos-13'
379
418
python-version : ' 3.11'
419
+
420
+ upload_artifacts :
421
+ name : Upload OpenVINO artifacts
422
+ timeout-minutes : 10
423
+ needs : [Build, Smart_CI]
424
+ defaults :
425
+ run :
426
+ shell : bash
427
+ runs-on : aks-linux-2-cores-8gb
428
+ container :
429
+ image : ' openvinogithubactions.azurecr.io/library/python:3.12-slim'
430
+ volumes :
431
+ - /mount:/mount
432
+ - ${{ github.workspace }}:${{ github.workspace }}
433
+ env :
434
+ OPENVINO_REPO : ${{ github.workspace }}/openvino
435
+ OPENVINO_CONTRIB_REPO : ${{ github.workspace }}/openvino_contrib
436
+ ARTIFACTS_DIR : ${{ github.workspace }}/artifacts
437
+ WHEELS_DIR : ${{ github.workspace }}/wheels
438
+ ARTIFACTS_SHARE : " /mount/build-artifacts"
439
+
440
+ steps :
441
+ - name : Checkout OpenVINO actions
442
+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
443
+ timeout-minutes : 15
444
+ with :
445
+ sparse-checkout : |
446
+ .github/actions/common
447
+ .github/actions/store_artifacts
448
+ path : ${{ env.OPENVINO_REPO }}
449
+
450
+ - name : Download OpenVINO artifacts
451
+ uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
452
+ with :
453
+ pattern : " {openvino_package,openvino_developer_package,openvino_js_package,openvino_package_manifest}"
454
+ path : ${{ env.ARTIFACTS_DIR }}
455
+ merge-multiple : true
456
+
457
+ - name : Download OpenVINO wheels
458
+ uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
459
+ with :
460
+ name : openvino_wheels
461
+ path : ${{ env.WHEELS_DIR }}
462
+ merge-multiple : true
463
+
464
+ - name : Store artifacts to a shared drive
465
+ id : store_artifacts
466
+ if : ${{ always() }}
467
+ uses : ./openvino/.github/actions/store_artifacts
468
+ with :
469
+ artifacts : |
470
+ ${{ env.ARTIFACTS_DIR }}/${{ env.MANIFEST_FILE }}
471
+ ${{ env.ARTIFACTS_DIR }}/openvino_package.tar.gz
472
+ ${{ env.ARTIFACTS_DIR }}/openvino_developer_package.tar.gz
473
+ ${{ env.WHEELS_DIR }}
474
+ ${{ fromJSON(needs.smart_ci.outputs.affected_components).JS_API && format('{0}/openvino_js_package.tar.gz', env.ARTIFACTS_DIR) || '' }}
475
+ storage_dir : ${{ env.PRODUCT_TYPE }}
476
+ storage_root : ${{ env.ARTIFACTS_SHARE }}
0 commit comments