22
22
description : ' OS that is used for building in the form of "ubuntu_20_04"'
23
23
type : string
24
24
required : true
25
+ arch :
26
+ description : ' Target architecture'
27
+ type : string
28
+ default : ' x86_64'
29
+ required : false
30
+ cmake-options :
31
+ description : ' A string of options passed to CMake'
32
+ type : string
33
+ required : true
34
+ build-js :
35
+ description : ' Whether to build OpenVINO JS Bindings'
36
+ type : boolean
37
+ required : false
38
+ default : true
39
+ build-debian-packages :
40
+ description : ' Whether to build Debian packages'
41
+ type : boolean
42
+ required : false
43
+ default : true
44
+ build-contrib :
45
+ description : ' Whether to build OpenVINO Contrib'
46
+ type : boolean
47
+ required : false
48
+ default : true
25
49
26
50
permissions : read-all
27
51
40
64
env :
41
65
DEBIAN_FRONTEND : noninteractive # to prevent apt-get from waiting user input
42
66
CMAKE_BUILD_TYPE : ' Release'
43
- CMAKE_GENERATOR : ' Ninja Multi-Config'
44
67
CMAKE_CXX_COMPILER_LAUNCHER : sccache
45
68
CMAKE_C_COMPILER_LAUNCHER : sccache
46
69
SCCACHE_IGNORE_SERVER_IO_ERROR : 1
@@ -55,11 +78,11 @@ jobs:
55
78
INSTALL_TEST_DIR : /__w/openvino/openvino/tests_install
56
79
DEVELOPER_PACKAGE_DIR : /__w/openvino/openvino/developer_package_install
57
80
BUILD_DIR : /__w/openvino/openvino/openvino_build
58
- SCCACHE_AZURE_KEY_PREFIX : ${{ inputs.os }}_x86_64_Release
81
+ SCCACHE_AZURE_KEY_PREFIX : ${{ inputs.os }}_${{ inputs.arch }}_Release
59
82
ONNX_RUNTIME_UTILS : /__w/openvino/openvino/openvino/src/frontends/onnx/tests/ci_utils/onnxruntime
60
83
ARTIFACTS_SHARE : " /mount/build-artifacts"
61
84
MANIFEST_PATH : ' /__w/openvino/openvino/manifest.yml'
62
- PRODUCT_TYPE : public_linux_${{ inputs.os }}_release
85
+ PRODUCT_TYPE : public_linux_${{ inputs.os }}_${{ inputs.arch }} _release
63
86
steps :
64
87
- name : Clone OpenVINO
65
88
uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -131,17 +154,7 @@ jobs:
131
154
- name : CMake configure - OpenVINO
132
155
run : |
133
156
cmake \
134
- -G "${{ env.CMAKE_GENERATOR }}" \
135
- -DENABLE_CPPLINT=OFF \
136
- -DENABLE_NCC_STYLE=OFF \
137
- -DENABLE_TESTS=ON \
138
- -DENABLE_STRICT_DEPENDENCIES=OFF \
139
- -DENABLE_SYSTEM_OPENCL=ON \
140
- -DCMAKE_VERBOSE_MAKEFILE=ON \
141
- -DCPACK_GENERATOR=TGZ \
142
- -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
143
- -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
144
- -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
157
+ ${{ inputs.cmake-options }} \
145
158
-S ${OPENVINO_REPO} \
146
159
-B ${BUILD_DIR}
147
160
@@ -182,6 +195,7 @@ jobs:
182
195
popd
183
196
184
197
- name : Build Debian packages
198
+ if : ${{ inputs.build-debian-packages }}
185
199
run : |
186
200
# Ubuntu 24 does not allow using the system Python directly so
187
201
# we have to use Python from the virtual environment created in Docker
@@ -199,6 +213,7 @@ jobs:
199
213
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target package
200
214
201
215
- name : Cmake & Build - OpenVINO Contrib
216
+ if : ${{ inputs.build-contrib }}
202
217
run : |
203
218
cmake \
204
219
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
@@ -208,7 +223,7 @@ jobs:
208
223
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
209
224
210
225
- name : CMake configure, build and install - OpenVINO JS API
211
- if : ${{ fromJSON(inputs.affected-components).JS_API }}
226
+ if : ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }}
212
227
run : |
213
228
cmake -UTBB* -DCPACK_GENERATOR=NPM -DENABLE_SYSTEM_TBB=OFF -S ${OPENVINO_REPO} -B ${BUILD_DIR}
214
229
cmake --build ${BUILD_DIR} --parallel
@@ -234,7 +249,7 @@ jobs:
234
249
if-no-files-found : ' error'
235
250
236
251
- name : Upload openvino js package
237
- if : ${{ fromJSON(inputs.affected-components).JS_API }}
252
+ if : ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }}
238
253
uses : actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
239
254
with :
240
255
name : openvino_js_package
@@ -250,7 +265,7 @@ jobs:
250
265
if-no-files-found : ' error'
251
266
252
267
- name : Upload openvino debian packages
253
- if : ${{ always() }}
268
+ if : ${{ inputs.build-debian-packages }}
254
269
uses : actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
255
270
with :
256
271
name : openvino_debian_packages
0 commit comments