Reserving CPU resource in CPU inference #36358
Workflow file for this run
This file contains 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: Linux ARM64 (Ubuntu 20.04, Python 3.11) | |
on: | |
workflow_dispatch: | |
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 }}-linux-arm | |
cancel-in-progress: true | |
permissions: read-all | |
env: | |
PIP_CACHE_PATH: /mount/caches/pip/linux | |
TARGET_BRANCH: ${{ github.base_ref || github.event.merge_group.base_ref || github.ref }} | |
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 | |
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' | |
- name: Show affected components | |
run: | | |
echo "${{ toJSON(steps.smart_ci.outputs.affected_components) }}" | |
shell: bash | |
Docker: | |
needs: Smart_CI | |
if: "!needs.smart_ci.outputs.skip_workflow" | |
runs-on: aks-linux-16-cores-arm-docker-build | |
container: | |
image: openvinogithubactions.azurecr.io/docker_build:0.2 | |
volumes: | |
- /mount:/mount | |
outputs: | |
images: "${{ steps.handle_docker.outputs.images }}" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: ./.github/actions/handle_docker | |
id: handle_docker | |
with: | |
images: | | |
ov_build/ubuntu_20_04_arm64 | |
ov_test/ubuntu_20_04_arm64 | |
registry: 'openvinogithubactions.azurecr.io' | |
dockerfiles_root_dir: '.github/dockerfiles' | |
changed_components: ${{ needs.Smart_CI.outputs.changed_components }} | |
Build: | |
needs: [ Docker, Smart_CI ] | |
uses: ./.github/workflows/job_build_linux.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"], "options": "-e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING"}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
event-name: ${{ github.event_name }} | |
os: 'ubuntu_20_04' | |
arch: 'arm64' | |
build-js: true | |
build-contrib: true | |
build-debian-packages: false | |
build-rpm-packages: false | |
cmake-options: |- | |
-G "Ninja Multi-Config" \ | |
-DENABLE_CPPLINT=OFF \ | |
-DENABLE_NCC_STYLE=OFF \ | |
-DENABLE_TESTS=ON \ | |
-DENABLE_STRICT_DEPENDENCIES=OFF \ | |
-DENABLE_SYSTEM_OPENCL=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DCPACK_GENERATOR=TGZ \ | |
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON | |
Debian_Packages: | |
name: Debian Packages | |
needs: Build | |
if: ${{ 'false' }} | |
uses: ./.github/workflows/job_debian_packages.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04' | |
Samples: | |
needs: [ Build, Docker, Smart_CI ] | |
if: fromJSON(needs.smart_ci.outputs.affected_components).samples | |
uses: ./.github/workflows/job_samples_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"]}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
JS_API: | |
name: OpenVINO JS API | |
needs: [ Build, Docker, Smart_CI ] | |
if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API | |
uses: ./.github/workflows/job_openvino_js.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_20_04_arm64 }}"}' | |
ONNX_Runtime: | |
name: ONNX Runtime Integration | |
if: fromJSON(needs.smart_ci.outputs.affected_components).ONNX_RT || | |
fromJSON(needs.smart_ci.outputs.affected_components).ONNX_FE | |
needs: [ Build, Smart_CI, Docker ] | |
uses: ./.github/workflows/job_onnx_runtime.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"], "options": "-e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING"}' | |
sccache-azure-key-prefix: 'ubuntu20_aarch64_onnxruntime' | |
Openvino_tokenizers: | |
name: OpenVINO tokenizers extension | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_tokenizers.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
shell: bash | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"]}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
if: fromJSON(needs.smart_ci.outputs.affected_components).TOKENIZERS | |
CXX_Unit_Tests: | |
name: C++ unit tests | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_cxx_unit_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
image: ${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }} | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
os: 'ubuntu_20_04' | |
Python_Unit_Tests: | |
name: Python unit tests | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_python_unit_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"]}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
python-version: '3.11' | |
TensorFlow_Layer_Tests: | |
name: TensorFlow Layer Tests | |
needs: [ Build, Docker, Smart_CI, Openvino_tokenizers ] | |
uses: ./.github/workflows/job_tensorflow_layer_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"]}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
python-version: '3.11' | |
Pytorch_Layer_Tests: | |
name: Pytorch Layer Tests | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_pytorch_layer_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}", "volumes": ["/mount:/mount"]}' | |
affected-components: ${{ needs.smart_ci.outputs.affected_components }} | |
python-version: '3.11' | |
CPU_Functional_Tests: | |
name: CPU functional tests | |
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_cpu_functional_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
image: ${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }} | |
python-version: '3.11' | |
TensorFlow_Models_Tests: | |
name: TensorFlow Models tests | |
if: ${{ 'false' }} # TODO: Enable once the dependencies are ready for arm (no tensorflow-text available for arm from PyPI) | |
# if: fromJSON(needs.smart_ci.outputs.affected_components).TF_FE.test || | |
# fromJSON(needs.smart_ci.outputs.affected_components).TFL_FE.test | |
needs: [ Build, Docker, Smart_CI, Openvino_tokenizers] | |
uses: ./.github/workflows/job_tensorflow_models_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}"}' | |
model_scope: 'precommit' | |
PyTorch_Models_Tests: | |
name: PyTorch Models tests | |
if: ${{ 'false' }} # TODO: Enable once the dependencies are ready for arm (no tensorflow-text available for arm from PyPI) | |
# if: fromJSON(needs.smart_ci.outputs.affected_components).PyTorch_FE.test | |
needs: [ Build, Docker, Smart_CI ] | |
uses: ./.github/workflows/job_pytorch_models_tests.yml | |
with: | |
runner: 'aks-linux-16-cores-arm' | |
container: '{"image": "${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_20_04_arm64 }}"}' | |
model_scope: 'precommit' | |
Overall_Status: | |
name: ci/gha_overall_status_linux_arm64 | |
needs: [Smart_CI, Build, Debian_Packages, Samples, ONNX_Runtime, CXX_Unit_Tests, Python_Unit_Tests, CPU_Functional_Tests, | |
TensorFlow_Models_Tests, PyTorch_Models_Tests, Openvino_tokenizers, TensorFlow_Layer_Tests, Pytorch_Layer_Tests] | |
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 |