Bump actions/download-artifact from 4.3.0 to 5.0.0 #55
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android ARM64 with vcpkg | |
on: | |
workflow_dispatch: | |
inputs: | |
target-branch: | |
description: 'Target branch for the build; taken from event context by default' | |
type: string | |
required: false | |
pull_request: | |
merge_group: | |
push: | |
branches: | |
# - master | |
- 'releases/**' | |
concurrency: | |
# github.ref is not unique in post-commit | |
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-android-arm64-vcpkg | |
cancel-in-progress: true | |
permissions: read-all | |
jobs: | |
Smart_CI: | |
runs-on: ubuntu-latest | |
outputs: | |
affected_components: "${{ steps.smart_ci.outputs.affected_components }}" | |
changed_components: "${{ steps.smart_ci.outputs.changed_components }}" | |
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}" | |
steps: | |
- name: checkout action | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
timeout-minutes: 15 | |
with: | |
sparse-checkout: .github/actions/smart-ci | |
- name: Get affected components | |
id: smart_ci | |
uses: ./.github/actions/smart-ci | |
with: | |
repository: ${{ github.repository }} | |
pr: ${{ github.event.number }} | |
commit_sha: ${{ github.sha }} | |
ref_name: ${{ github.ref_name }} | |
component_pattern: "category: (.*)" | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
skip_when_only_listed_labels_set: 'docs' | |
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*' | |
Docker: | |
needs: Smart_CI | |
runs-on: aks-linux-4-cores-16gb-docker-build | |
container: | |
image: openvinogithubactions.azurecr.io/docker_build:0.2 | |
volumes: | |
- /mount:/mount | |
outputs: | |
images: "${{ steps.handle_docker.outputs.images && steps.handle_docker.outputs.images || steps.mock_image.outputs.images }}" | |
steps: | |
- name: Set mock output images if pipeline should be skipped | |
if: ${{ needs.smart_ci.outputs.skip_workflow == 'True' }} | |
id: mock_image | |
run: echo "images={\"ov_build\":{\"ubuntu_22_04_android\":\"mock\"}}" >> "$GITHUB_OUTPUT" | |
- name: Checkout | |
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }} | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
timeout-minutes: 15 | |
- uses: ./.github/actions/handle_docker | |
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }} | |
id: handle_docker | |
with: | |
images: | | |
ov_build/ubuntu_22_04_android | |
registry: 'openvinogithubactions.azurecr.io' | |
dockerfiles_root_dir: '.github/dockerfiles' | |
changed_components: ${{ needs.smart_ci.outputs.changed_components }} | |
Build: | |
needs: [Smart_CI, Docker] | |
if: "!needs.smart_ci.outputs.skip_workflow" | |
timeout-minutes: 150 | |
defaults: | |
run: | |
shell: bash | |
runs-on: aks-linux-16-cores-32gb | |
container: | |
image: ${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_22_04_android }} | |
volumes: | |
- /mount:/mount | |
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING | |
env: | |
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input | |
CMAKE_GENERATOR: 'Ninja' | |
CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
CMAKE_C_COMPILER_LAUNCHER: sccache | |
SCCACHE_IGNORE_SERVER_IO_ERROR: 1 | |
SCCACHE_SERVER_PORT: 35555 | |
SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt | |
SCCACHE_LOG: warn | |
OPENVINO_REPO: '/__w/openvino/openvino/openvino' | |
VCPKG_ROOT: '/__w/openvino/openvino/vcpkg' | |
BUILD_DIR: '/__w/openvino/openvino/build' | |
ANDROID_TOOLS: '/deps/android_tools' | |
ANDROID_NDK_HOME: '/deps/android_tools/ndk/26.1.10909125' | |
ANDROID_SDK_VERSION: 29 | |
ANDROID_ABI_CONFIG: arm64-v8a | |
VCPKG_TARGET_TRIPLET: arm64-android | |
VCPKG_DEFAULT_BINARY_CACHE: '/mount/caches/ccache/android_arm64/vcpkg_cache' | |
VCPKG_FORCE_SYSTEM_BINARIES: '1' | |
SCCACHE_AZURE_KEY_PREFIX: android_arm64 | |
steps: | |
- name: Clone OpenVINO | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
timeout-minutes: 15 | |
with: | |
path: 'openvino' | |
- name: Get VCPKG version and put it into GitHub ENV | |
run: echo VCPKG_VERSION=$(cat ${OPENVINO_REPO}/vcpkg.json | python3 -c "import sys, json; print(json.load(sys.stdin)['builtin-baseline'])") >> $GITHUB_ENV | |
- name: Init submodules for non vcpkg dependencies | |
run: | | |
pushd ${OPENVINO_REPO} | |
git submodule update --init -- ${OPENVINO_REPO}/src/plugins | |
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/zlib | |
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/json | |
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gtest | |
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gflags | |
popd | |
- name: Clone vcpkg | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
timeout-minutes: 15 | |
with: | |
repository: 'microsoft/vcpkg' | |
ref: ${{ env.VCPKG_VERSION }} | |
path: 'vcpkg' | |
fetch-depth: '0' | |
# | |
# Print system info | |
# | |
- name: System info | |
uses: ./openvino/.github/actions/system_info | |
# | |
# Build | |
# | |
- name: Build vcpkg | |
run: | | |
mkdir -p ${VCPKG_DEFAULT_BINARY_CACHE} | |
${VCPKG_ROOT}/bootstrap-vcpkg.sh | |
# patch vcpkg default toolchain to build only Release configuration | |
echo "set(VCPKG_BUILD_TYPE release)" >> ${VCPKG_ROOT}/triplets/arm64-android.cmake | |
- name: CMake - configure | |
run: | | |
cmake \ | |
-G '${{ env.CMAKE_GENERATOR }}' \ | |
-DENABLE_INTEL_GPU=ON \ | |
-DENABLE_TESTS=ON \ | |
-DENABLE_SYSTEM_OPENCL=ON \ | |
-DENABLE_SYSTEM_PROTOBUF=ON \ | |
-DENABLE_SYSTEM_PUGIXML=ON \ | |
-DENABLE_SYSTEM_SNAPPY=ON \ | |
-DENABLE_SYSTEM_TBB=ON \ | |
-DENABLE_SYSTEM_FLATBUFFERS=ON \ | |
-DENABLE_FASTER_BUILD=ON \ | |
-DANDROID_ABI=${{ env.ANDROID_ABI_CONFIG }} \ | |
-DANDROID_PLATFORM=${{ env.ANDROID_SDK_VERSION }} \ | |
-DVCPKG_TARGET_TRIPLET=${{ env.VCPKG_TARGET_TRIPLET }} \ | |
-DVCPKG_HOST_TRIPLET=x64-linux-release \ | |
-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake \ | |
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \ | |
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ | |
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ | |
-S ${OPENVINO_REPO} \ | |
-B ${BUILD_DIR} | |
- name: Clean ccache stats | |
run: ${SCCACHE_PATH} --zero-stats | |
- name: Cmake - build | |
run: cmake --build ${BUILD_DIR} --parallel $(nproc) | |
- name: Show ccache stats | |
run: ${SCCACHE_PATH} --show-stats | |
# | |
# Upload build logs | |
# | |
- name: Upload build logs | |
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
if: always() | |
with: | |
name: build_logs | |
path: ${{ env.SCCACHE_ERROR_LOG }} | |
if-no-files-found: 'ignore' | |
Overall_Status: | |
name: ci/gha_overall_status_android_arm64 | |
needs: [Smart_CI, Build] | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check status of all jobs | |
if: >- | |
${{ | |
contains(needs.*.result, 'failure') || | |
contains(needs.*.result, 'cancelled') | |
}} | |
run: exit 1 |