[CI] [GHA] Setup pip cache directory per Python on Windows; do not use cache for setup-python
action
#39448
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-4-cores-8gb-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-32gb-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-4-cores-8gb-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-8-cores-16gb-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-4-cores-8gb-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-32gb-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-8-cores-16gb-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 }} | |
python-version: '3.11' | |
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-8-cores-16gb-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-8-cores-16gb-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' | |
Python_API_Tests: | |
name: Python API tests | |
needs: [ Docker, Build, Smart_CI ] | |
uses: ./.github/workflows/job_python_api_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"]}' | |
python-version: '3.11' | |
if: fromJSON(needs.smart_ci.outputs.affected_components).Python_API.test | |
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-32gb-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-32gb-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: | |
# Additional investigation needed why CPU functional tests are failing on v6 VM size's version, | |
# so leave it as it is for now | |
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-32gb-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-32gb-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 |