@@ -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"
@@ -171,17 +176,22 @@ jobs:
171
176
172
177
- name : Cmake install - OpenVINO
173
178
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
179
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR }}
180
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_TEST_DIR }} --component tests
181
+ cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.DEVELOPER_PACKAGE_DIR }} --component developer_package
182
+ working-directory : ${{ env.BUILD_DIR }}
176
183
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
184
+ - name : Pack openvino_package
185
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_package.tar.gz
186
+ working-directory : ${{ env.INSTALL_DIR }}
187
+
188
+ - name : Pack openvino_developer_package
189
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
190
+ working-directory : ${{ env.DEVELOPER_PACKAGE_DIR }}
191
+
192
+ - name : Pack openvino_tests
193
+ run : tar -cvf - * | pigz > ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
194
+ working-directory : ${{ env.INSTALL_TEST_DIR }}
185
195
186
196
# Setup additional Python versions for wheels building
187
197
- name : Setup Python 3.9
@@ -225,6 +235,18 @@ jobs:
225
235
should-setup-pip-paths : ' false'
226
236
self-hosted-runner : ' false'
227
237
238
+ - name : Generate product manifest and set CI_BUILD_NUMBER & CI_BUILD_DEV_TAG
239
+ id : create_manifest
240
+ uses : ./openvino/.github/actions/create_manifest
241
+ with :
242
+ repos : |
243
+ ${{ env.OPENVINO_REPO }}
244
+ ${{ env.OPENVINO_CONTRIB_REPO }}
245
+ product_type : ${{ env.PRODUCT_TYPE }}
246
+ target_arch : ${{ runner.arch }}
247
+ build_type : ' release'
248
+ save_to : ${{ github.workspace }}/${{ env.MANIFEST_FILE }}
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