Skip to content

Commit 0eb9180

Browse files
authored
[CI] [GHA] [ANDROID] Align build options between GHA and Jenkins, update ndk to 29, save artefacts to a shared drive (#33018)
### Tickets: - *175501*
1 parent b2af855 commit 0eb9180

File tree

4 files changed

+55
-4
lines changed

4 files changed

+55
-4
lines changed

.github/actions/common/constants.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ class EventType(Enum):
2323
'public_manylinux_2_28_x86_64_release',
2424
'public_macos_x86_64_release',
2525
'public_macos_arm64_release',
26+
'public_android_x64_release',
27+
'public_android_arm64_release',
2628
)
2729
ProductType = Enum('ProductType', {t.upper(): t for t in productTypes})
2830

@@ -41,6 +43,8 @@ class EventType(Enum):
4143
'macos_12_6_x86_64',
4244
'macos_14_7_arm64',
4345
'windows_x86_64',
46+
'android_x64',
47+
'android_arm64',
4448
)
4549
PlatformKey = Enum('PlatformKey', {t.upper(): t for t in platformKeys})
4650

@@ -56,4 +60,6 @@ class EventType(Enum):
5660
PlatformKey.MACOS_14_7_ARM64: ProductType.PUBLIC_MACOS_ARM64_RELEASE,
5761
PlatformKey.CENTOS7_X86_64: ProductType.PUBLIC_MANYLINUX2014_X86_64_RELEASE,
5862
PlatformKey.ALMALINUX8_X86_64: ProductType.PUBLIC_MANYLINUX_2_28_X86_64_RELEASE,
63+
PlatformKey.ANDROID_X64: ProductType.PUBLIC_ANDROID_X64_RELEASE,
64+
PlatformKey.ANDROID_ARM64: ProductType.PUBLIC_ANDROID_ARM64_RELEASE,
5965
}

.github/dockerfiles/docker_tag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
pr-33047
1+
pr-33018

.github/dockerfiles/ov_build/ubuntu_22_04_android/Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RUN apt update && \
1717
add-apt-repository --yes --no-update ppa:git-core/ppa && \
1818
apt update && \
1919
apt install \
20+
pigz \
2021
scons \
2122
wget \
2223
ninja-build \
@@ -47,10 +48,10 @@ ENV PATH="$SCCACHE_HOME:$PATH"
4748

4849
# Install Android SDK, NDK and Tools
4950
ENV ANDROID_TOOLS /deps/android_tools
50-
ENV ANDROID_NDK_HOME /deps/android_tools/ndk/28.2.13676358
51+
ENV ANDROID_NDK_HOME /deps/android_tools/ndk/29.0.14206865
5152
RUN mkdir -p ${ANDROID_NDK_HOME}
5253
ENV ANDROID_SDK_VERSION 35
5354

5455
RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip && \
5556
unzip commandlinetools-linux-9123335_latest.zip
56-
RUN echo "yes" | ./cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_TOOLS} --install "ndk;28.2.13676358" "platform-tools" "platforms;android-${ANDROID_SDK_VERSION}"
57+
RUN echo "yes" | ./cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_TOOLS} --install "ndk;29.0.14206865" "platform-tools" "platforms;android-${ANDROID_SDK_VERSION}"

.github/workflows/android.yml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ jobs:
9494
shell: bash
9595
runs-on: aks-linux-16-cores-32gb
9696
strategy:
97+
fail-fast: false
9798
matrix:
9899
include:
99100
- arch: arm64
@@ -124,7 +125,7 @@ jobs:
124125
OPENVINO_GENAI_REPO: '/__w/openvino/openvino/openvino.genai'
125126
BUILD_DIR: '/__w/openvino/openvino/build'
126127
ANDROID_TOOLS: '/deps/android_tools'
127-
ANDROID_NDK_HOME: '/deps/android_tools/ndk/28.2.13676358'
128+
ANDROID_NDK_HOME: '/deps/android_tools/ndk/29.0.14206865'
128129
ANDROID_SDK_VERSION: 35
129130
ANDROID_ABI_CONFIG: ${{ matrix.android_abi }}
130131
TBB_BRANCH: 'v2022.2.0'
@@ -133,6 +134,9 @@ jobs:
133134
TBB_INSTALL: "/__w/openvino/openvino/build/onetbb-install"
134135
TBB_CMAKE_DIR: "/__w/openvino/openvino/build/onetbb-install/lib/cmake/TBB"
135136
SCCACHE_AZURE_KEY_PREFIX: android_${{ matrix.arch }}
137+
ARTIFACTS_SHARE: "/mount/build-artifacts"
138+
MANIFEST_PATH: '${{ github.workspace }}/openvino/manifest.yml'
139+
PRODUCT_TYPE: public_android_${{ matrix.arch }}_release
136140
steps:
137141
- name: Clone OpenVINO
138142
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -150,6 +154,18 @@ jobs:
150154
submodules: 'true'
151155
ref: ${{ env.TARGET_BRANCH }}
152156

157+
- name: Generate product manifest and set CI_BUILD_NUMBER & CI_BUILD_DEV_TAG
158+
id: create_manifest
159+
uses: ./openvino/.github/actions/create_manifest
160+
with:
161+
repos: |
162+
${{ env.OPENVINO_REPO }}
163+
product_type: ${{ env.PRODUCT_TYPE }}
164+
target_arch: ${{ matrix.arch }}
165+
build_type: 'release'
166+
save_to: ${{ env.MANIFEST_PATH }}
167+
trigger_repo_branch: ${{ inputs.target-branch }}
168+
153169
#
154170
# Print system info
155171
#
@@ -207,6 +223,7 @@ jobs:
207223
-DANDROID_PLATFORM=${{ env.ANDROID_SDK_VERSION }} \
208224
-DANDROID_STL=c++_shared \
209225
-DENABLE_TESTS=ON \
226+
-DCPACK_ARCHIVE_COMPONENT_INSTALL=OFF \
210227
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
211228
-DENABLE_STRICT_DEPENDENCIES=OFF \
212229
-DENABLE_SYSTEM_TBB=OFF \
@@ -218,8 +235,13 @@ jobs:
218235
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
219236
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
220237
-DENABLE_LTO=ON \
238+
-DENABLE_INTEL_CPU=ON \
239+
-DENABLE_INTEL_GPU=ON \
240+
-DENABLE_INTEL_NPU=ON \
221241
-DENABLE_TEMPLATE=ON \
222242
-DENABLE_PYTHON=OFF \
243+
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-z,max-page-size=16384" \
244+
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-z,max-page-size=16384" \
223245
-S ${OPENVINO_REPO} \
224246
-B ${BUILD_DIR}
225247
@@ -265,6 +287,15 @@ jobs:
265287
# Add TBB and libc++ shared to runtime package
266288
find ${TBB_INSTALL}/lib -name "*.so*" -type f -exec cp {} ${INSTALL_DIR}/lib/ \; 2>/dev/null || echo "No .so files in TBB_INSTALL/lib"
267289
cp "${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/${{ env.ANDROID_ABI_CONFIG }}-linux-android/libc++_shared.so" ${INSTALL_DIR}/lib/ || echo "libc++_shared.so not found"
290+
291+
- name: Pack openvino_package
292+
run: tar -cvf - * | pigz > ${BUILD_DIR}/openvino_package.tar.gz
293+
working-directory: ${{ env.INSTALL_DIR }}
294+
295+
- name: Pack openvino_tests
296+
run: tar -cvf - * | pigz > ${BUILD_DIR}/openvino_tests.tar.gz
297+
working-directory: ${{ env.INSTALL_TEST_DIR }}
298+
268299
- name: Upload CPU test binaries
269300
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
270301
with:
@@ -278,6 +309,19 @@ jobs:
278309
name: ov_android_package_${{ matrix.arch }}
279310
path: ${{ env.INSTALL_DIR }}/
280311
if-no-files-found: 'error'
312+
313+
- name: Store artifacts to a shared drive
314+
id: store_artifacts
315+
if: ${{ github.event_name != 'merge_group' }}
316+
uses: ./openvino/.github/actions/store_artifacts
317+
with:
318+
artifacts: |
319+
${{ env.BUILD_DIR }}/openvino_package.tar.gz
320+
${{ env.BUILD_DIR }}/openvino_tests.tar.gz
321+
${{ env.MANIFEST_PATH }}
322+
storage_dir: ${{ env.PRODUCT_TYPE }}
323+
storage_root: ${{ env.ARTIFACTS_SHARE }}
324+
branch_name: ${{ inputs.target-branch }}
281325

282326
CXX_Unit_Tests:
283327
needs: [Smart_CI, Docker, Build]

0 commit comments

Comments
 (0)