[GHA] Common apt configuration #1
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: ONNX Models tests | |
on: | |
workflow_call: | |
inputs: | |
runner: | |
description: 'Machine on which the tests would run' | |
type: string | |
required: true | |
container: | |
description: 'JSON to be converted to the value of the "container" configuration for the job' | |
type: string | |
required: false | |
default: '{"image": null}' | |
jobs: | |
ONNX_Models_tests: | |
name: ONNX Models tests | |
timeout-minutes: 60 | |
runs-on: ${{ inputs.runner }} | |
container: ${{ fromJSON(inputs.container) }} | |
defaults: | |
run: | |
shell: bash | |
env: | |
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input | |
OPENVINO_REPO: ${{ github.workspace }}/openvino | |
INSTALL_DIR: ${{ github.workspace }}/install | |
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests | |
ONNX_MODELS_PATH: ${{ github.workspace }}/onnx_test_models | |
# instead of using static MODELS_SHARE_PATH | |
# choose one of the replicas dynamically instead | |
# depending on GITHUB_RUN_NUMBER variable | |
NUMBER_OF_REPLICAS: 2 | |
ONNX_MODEL_ZOO_SHA: "5faef4c33eba0395177850e1e31c4a6a9e634c82" | |
if: ${{ github.event_name != 'merge_group' }} | |
steps: | |
- name: checkout action | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
.github/actions/setup_apt | |
- name: Setup apt | |
if: runner.os == 'Linux' | |
uses: ./.github/actions/setup_apt | |
- name: Setup apt cache | |
if: runner.os == 'Linux' | |
- name: Download OpenVINO package | |
uses: actions/download-artifact@v4 | |
with: | |
name: openvino_package | |
path: ${{ env.INSTALL_DIR }} | |
- name: Download OpenVINO tests package | |
uses: actions/download-artifact@v4 | |
with: | |
name: openvino_tests | |
path: ${{ env.INSTALL_TEST_DIR }} | |
# Needed as ${{ github.workspace }} is not working correctly when using Docker | |
- name: Setup Variables | |
run: | | |
echo "OPENVINO_REPO=$GITHUB_WORKSPACE/openvino" >> "$GITHUB_ENV" | |
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV" | |
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV" | |
echo "MODELS_SHARE_PATH=/mount/testdata$((GITHUB_RUN_NUMBER % NUMBER_OF_REPLICAS))" >> "$GITHUB_ENV" | |
echo $MODELS_SHARE_PATH | |
- name: Extract OpenVINO packages | |
run: | | |
pushd ${INSTALL_DIR} | |
tar -xzf openvino_package.tar.gz -C ${INSTALL_DIR} | |
popd | |
pushd ${INSTALL_TEST_DIR} | |
tar -xzf openvino_tests.tar.gz -C ${INSTALL_DIR} | |
popd | |
- name: Fetch setup_python action and model_zoo_preprocess script | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
.github/actions/setup_python/action.yml | |
src/frontends/onnx/tests/tests_python/model_zoo_preprocess.sh | |
sparse-checkout-cone-mode: false | |
path: 'openvino' | |
- name: Install dependencies | |
run: | | |
# install git (required to build pip deps from the sources) | |
apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs | |
- name: Setup Python 3.11 | |
uses: ./openvino/.github/actions/setup_python | |
with: | |
version: '3.11' | |
should-setup-pip-paths: 'false' | |
self-hosted-runner: ${{ contains(inputs.runner, 'aks') }} | |
- name: Update Models | |
run: bash ${OPENVINO_REPO}/src/frontends/onnx/tests/tests_python/model_zoo_preprocess.sh -d ${MODELS_SHARE_PATH} -o -s "${{ env.ONNX_MODEL_ZOO_SHA }}" | |
- name: Install OpenVINO Python wheels | |
run: | | |
# Install the core OV wheel | |
python3 -m pip install ${INSTALL_DIR}/tools/openvino-*.whl | |
extras_to_install="onnx" | |
# Find and install OV dev wheel | |
pushd ${INSTALL_DIR}/tools | |
ov_dev_wheel_name=$(find . -name 'openvino_dev*.whl') | |
python3 -m pip install $ov_dev_wheel_name[$extras_to_install] | |
popd | |
- name: Install Python tests dependencies | |
run: | | |
# To enable pytest parallel features | |
python3 -m pip install pytest-xdist[psutil] pytest-forked | |
- name: ONNX Models Tests | |
run: python3 -m pytest --backend="CPU" --model_zoo_dir="${MODELS_SHARE_PATH}" ${INSTALL_TEST_DIR}/onnx/tests/tests_python/test_zoo_models.py -v -n auto --forked -k 'not _cuda' --model_zoo_xfail |