Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] [GHA] Introduce C++ unittests on Debian ARM #26656

Merged
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
595180a
add c++ tests
akashchi Sep 18, 2024
1d83481
update docker tag
akashchi Sep 18, 2024
fbf3bbc
check folder
akashchi Sep 18, 2024
675e274
check test exec
akashchi Sep 18, 2024
8a3bb06
try w/o setupvars
akashchi Sep 18, 2024
6c3eb53
try running with build image
akashchi Sep 19, 2024
eab4abc
rm unused
akashchi Sep 19, 2024
6657c6d
correct path
akashchi Sep 19, 2024
f5cc344
do not use env.
akashchi Sep 19, 2024
a3f5126
sleep
akashchi Sep 19, 2024
0a4e1e9
add export to libs
akashchi Sep 19, 2024
8227897
add link
akashchi Sep 19, 2024
0418e61
try to setup vars earlier
akashchi Sep 19, 2024
b562820
move env setting to dockerfile
akashchi Sep 19, 2024
2e197e3
add quotes
akashchi Sep 19, 2024
f5ab572
use build image
akashchi Sep 19, 2024
562afd6
add missing packages
akashchi Sep 19, 2024
c2bede2
try with build again
akashchi Sep 19, 2024
8568911
try to install all packages
akashchi Sep 20, 2024
5eb5274
try with build deps
akashchi Sep 20, 2024
3c65b9c
fewer deps
akashchi Sep 20, 2024
93a72d6
run all cpp tests
akashchi Sep 20, 2024
dd77445
add cpu func tests
akashchi Sep 20, 2024
911a805
provide python version
akashchi Sep 23, 2024
a54201e
Merge remote-tracking branch 'upstream/master' into ci/gha/debian-arm…
akashchi Sep 23, 2024
f54802f
skip tests
akashchi Sep 23, 2024
db1df1b
fix suite name
akashchi Sep 23, 2024
9221e9c
try with __linux__
akashchi Sep 23, 2024
2d7d8fa
try
akashchi Sep 23, 2024
fd129af
correct condition
akashchi Sep 23, 2024
3689d0a
leave only ARM
akashchi Sep 23, 2024
07b5115
try with lowercase
akashchi Sep 23, 2024
707a059
try with not
akashchi Sep 23, 2024
340ace8
use another condition
akashchi Sep 23, 2024
33ccf38
try with linux again
akashchi Sep 23, 2024
3d46652
run via binary
akashchi Sep 24, 2024
fff397f
add skip list
akashchi Sep 24, 2024
df4965f
add debian 11, run all cpp tests
akashchi Sep 24, 2024
c27948b
func too
akashchi Sep 24, 2024
8709ef1
correct python ver
akashchi Sep 24, 2024
8f62cda
try w/o skip list
akashchi Sep 25, 2024
0a35f22
sleep
akashchi Sep 25, 2024
de7be5e
Merge remote-tracking branch 'upstream/master' into ci/gha/debian-arm…
akashchi Sep 30, 2024
3bce4ac
use debian 10
akashchi Sep 30, 2024
70f42f5
correct py version
akashchi Sep 30, 2024
0ee3654
skip some c api tests
akashchi Sep 30, 2024
d2f0405
revert to skipped tests
akashchi Sep 30, 2024
a36799e
add missing input
akashchi Sep 30, 2024
dbcd7c3
try with exec
akashchi Sep 30, 2024
3b6c383
use script
akashchi Oct 1, 2024
a9d968a
Merge remote-tracking branch 'upstream/master' into ci/gha/debian-arm…
akashchi Oct 1, 2024
8e2758a
fix lint
akashchi Oct 1, 2024
360b2b4
add excluded tests arg to the parallel script, use it for ARM
akashchi Oct 1, 2024
188b390
skip crashed tests
akashchi Oct 2, 2024
6b082ae
use suite names
akashchi Oct 2, 2024
4c966f1
add missing failing tests
akashchi Oct 2, 2024
2d5fbbb
remove skip list, skip cpu func tests
akashchi Oct 2, 2024
741b73f
rm
akashchi Oct 2, 2024
617c952
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 2, 2024
76c3a0c
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 3, 2024
1ed4bd9
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 3, 2024
9530325
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 4, 2024
f8e5bbe
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 7, 2024
5be408b
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 7, 2024
739bdf4
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 8, 2024
97c8f17
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 8, 2024
33ed627
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 9, 2024
b25ffd7
add missing package
akashchi Oct 9, 2024
52d651d
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 9, 2024
07f6293
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 10, 2024
459cf9f
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 10, 2024
b83ba5f
Merge branch 'master' into ci/gha/debian-arm-cpp-tests
akashchi Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/dockerfiles/docker_tag
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pr-26586
pr-26656
38 changes: 38 additions & 0 deletions .github/dockerfiles/ov_test/debian_10_arm/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
ARG REGISTRY="docker.io"
FROM ${REGISTRY}/library/debian:10.13

USER root

# APT configuration
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf

ENV DEBIAN_FRONTEND="noninteractive" \
TZ="Europe/London"

RUN apt-get update && \
apt-get install \
git \
libc6-dev \
# Python for running C++ Functional tests via parallelization script \
mryzhov marked this conversation as resolved.
Show resolved Hide resolved
python3 \
python3-pip \
python3-dev \
python3-venv \
python3-distutils \
# Compilers
gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf \
&& \
rm -rf /var/lib/apt/lists/*

# Install build dependencies
ADD install_build_dependencies.sh /install_build_dependencies.sh
RUN chmod +x /install_build_dependencies.sh && \
/install_build_dependencies.sh && \
rm -rf /var/lib/apt/lists/*

ENV LD_LIBRARY_PATH="/usr/arm-linux-gnueabihf/:/usr/arm-linux-gnueabihf/lib/:$LD_LIBRARY_PATH"
RUN ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/ld-linux-armhf.so.3
22 changes: 21 additions & 1 deletion .github/workflows/debian_10_arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ jobs:
with:
images: |
ov_build/debian_10_arm
ov_test/debian_10_arm
registry: 'openvinogithubactions.azurecr.io'
dockerfiles_root_dir: '.github/dockerfiles'
changed_components: ${{ needs.smart_ci.outputs.changed_components }}
Expand Down Expand Up @@ -97,9 +98,28 @@ jobs:
-DENABLE_TESTS=ON \
-DENABLE_PYTHON=OFF

CXX_Unit_Tests:
name: C++ unit tests
needs: [ Docker, Build, 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.debian_10_arm }}
affected-components: ${{ needs.smart_ci.outputs.affected_components }}

CPU_Functional_Tests:
name: CPU functional tests
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test
needs: [ Docker, Build, 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.debian_10_arm }}
python-version: '3.7'
mryzhov marked this conversation as resolved.
Show resolved Hide resolved

Overall_Status:
name: ci/gha_overall_status_debian_10_arm
needs: [Smart_CI, Build]
needs: [Smart_CI, Build, CXX_Unit_Tests]
ilya-lavrenov marked this conversation as resolved.
Show resolved Hide resolved
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/job_cpu_functional_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
type: string
required: false
default: null
python-version:
description: 'Python version to setup. E.g., "3.11"'
type: string
required: true

permissions: read-all

Expand Down Expand Up @@ -70,10 +74,10 @@ jobs:
sparse-checkout-cone-mode: false
path: 'openvino'

- name: Setup Python 3.11
- name: Setup Python ${{ inputs.python-version }}
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
version: ${{ inputs.python-version }}
should-setup-pip-paths: 'false'
self-hosted-runner: ${{ runner.os == 'Linux' }}

Expand Down
56 changes: 29 additions & 27 deletions .github/workflows/job_cxx_unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "SETUPVARS_COMMAND=${{ env.SOURCE_COMMAND }} $GITHUB_WORKSPACE/install/${{ env.SETUPVARS }}" >> "$GITHUB_ENV"
echo $LD_LIBRARY_PATH

- name: Setup Variables (Windows)
if: ${{ runner.os == 'Windows' }}
Expand Down Expand Up @@ -85,166 +86,167 @@ jobs:
#

- name: OpenVINO Core Unit Tests
if: fromJSON(inputs.affected-components).Core.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
echo $LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVCoreUT.xml

- name: OpenVINO Inference Functional Tests
if: fromJSON(inputs.affected-components).inference.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceFunc.xml

- name: OpenVINO Inference Unit Tests
if: fromJSON(inputs.affected-components).inference.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceUnit.xml

- name: Low Precision Transformations Tests
if: fromJSON(inputs.affected-components).LP_transformations.test
if: always()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it temporary change ?

run: |
${{ env.SETUPVARS_COMMAND }}

${{ env.INSTALL_TEST_DIR }}/ov_lp_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LpTransformations.xml

- name: OpenVINO Conditional compilation tests
if: fromJSON(inputs.affected-components).Core.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ConditionalCompilation.xml

- name: IR frontend tests
if: fromJSON(inputs.affected-components).IR_FE.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-IRFrontend.xml

- name: PaddlePaddle frontend tests
if: ${{ fromJSON(inputs.affected-components).PDPD_FE.test && runner.os != 'Windows' }} # Ticket: 149651
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml

- name: ONNX frontend tests
if: ${{ fromJSON(inputs.affected-components).ONNX_FE.test && runner.arch != 'ARM64' }} # Ticket for macOS ARM64: 122663, for Linux ARM64: 126280
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml

- name: TensorFlow Common frontend tests
if: fromJSON(inputs.affected-components).TF_FE.test ||
fromJSON(inputs.affected-components).TFL_FE.test &&
(runner.os != 'macOS' && runner.arch != 'ARM64')
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml

- name: TensorFlow frontend tests
if: fromJSON(inputs.affected-components).TF_FE.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}

${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml

- name: TensorFlow Lite frontend tests
if: ${{ fromJSON(inputs.affected-components).TFL_FE.test }}
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml

- name: Transformations func tests
if: ${{ fromJSON(inputs.affected-components).transformations.test && runner.arch != 'ARM64' }} # Ticket: 126281
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}

${{ env.INSTALL_TEST_DIR }}/ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-Transformations.xml

- name: Common test utils tests
if: ${{ runner.os != 'macOS' }} # Ticket: 134469
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CommonUtilTests.xml

- name: Snippets func tests
if: fromJSON(inputs.affected-components).CPU.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_snippets_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-SnippetsFuncTests.xml

- name: CPU plugin unit tests
if: fromJSON(inputs.affected-components).CPU.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml

- name: ov_subgraphs_dumper_tests tests
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_subgraphs_dumper_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_subgraphs_dumper_tests.xml

- name: Template OpImpl tests
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_op_conformance_tests --gtest_print_time=1 --device=TEMPLATE --gtest_filter=*OpImpl*--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpImplTests.xml

- name: AUTO unit tests
if: fromJSON(inputs.affected-components).AUTO.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_auto_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_unit_tests.xml

- name: AUTO func Tests
if: fromJSON(inputs.affected-components).AUTO.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_auto_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_func_tests.xml

- name: Template plugin func tests
if: fromJSON(inputs.affected-components).TEMPLATE.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_template_func_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateFuncTests.xml

- name: OV utils unit tests
if: ${{ runner.os != 'macOS' }} # Ticket: 134469
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_util_tests.xml

- name: OpenVINO C API tests
if: fromJSON(inputs.affected-components).C_API.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml

- name: AutoBatch unit tests
if: fromJSON(inputs.affected-components).AUTO_BATCH.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_unit_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_unit_tests.xml

- name: AutoBatch func tests
if: fromJSON(inputs.affected-components).AUTO_BATCH.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_func_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_func_tests.xml --gtest_filter="*smoke*"

- name: Proxy Plugin func tests
if: fromJSON(inputs.affected-components).PROXY.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVProxyTests.xml

- name: Hetero unit tests
if: fromJSON(inputs.affected-components).HETERO.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_hetero_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroUnitTests.xml

- name: Hetero func tests
if: fromJSON(inputs.affected-components).HETERO.test
if: always()
run: |
${{ env.SETUPVARS_COMMAND }}
${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml --gtest_filter="*smoke*"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/linux_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ jobs:
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
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/linux_conditional_compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ jobs:
with:
runner: 'aks-linux-8-cores-32gb'
image: ${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_22_04_x64 }}
python-version: '3.11'

Overall_Status:
name: ci/gha_overall_status_linux_cc
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -286,3 +286,4 @@ jobs:
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'macos-13'
python-version: '3.11'
1 change: 1 addition & 0 deletions .github/workflows/mac_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -284,3 +284,4 @@ jobs:
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'macos-13-xlarge'
python-version: '3.11'
1 change: 1 addition & 0 deletions .github/workflows/ubuntu_22.yml
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ jobs:
with:
runner: 'aks-linux-8-cores-32gb'
image: ${{ fromJSON(needs.docker.outputs.images).ov_test.ubuntu_22_04_x64 }}
python-version: '3.11'

TensorFlow_Models_Tests_Precommit:
name: TensorFlow Models tests
Expand Down
Loading