CVS-169692_enable_on_commit_tests_part_II#4309
Open
ngrozae wants to merge 13 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR continues the effort to enable OVMS Python testing on commit by expanding the functional test framework, adding model/download utilities (including HF direct-load support), and introducing Docker image build helpers for BINARY/CAPI test modes across Ubuntu/Red Hat.
Changes:
- Expanded Python test dependencies and added a repo-local models layer (
tests/functional/models/*) to decouple parts of the framework from externalovms.constants.*definitions. - Added/extended functional-test orchestration: resource downloads, optional docker image builds, timeout/xdist scheduling, and HF model refresh support.
- Updated CI on-commit groovy pipeline and various test utilities/Dockerfiles to support the new workflow.
Reviewed changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated 21 comments.
Show a summary per file
| File | Description |
|---|---|
tests/requirements.txt |
Updated/pinned Python test dependencies for the new framework capabilities |
tests/functional/utils/test_framework.py |
Made remove_dir_tree() compatible with Python <3.12 vs 3.12+ shutil.rmtree callback args |
tests/functional/utils/ovms_testing_image/Dockerfile.redhat |
Switched Red Hat base image reference for test image builds |
tests/functional/utils/ovms_capi_image/Dockerfile.ubuntu |
Added Ubuntu CAPI test image Dockerfile (binary package based) |
tests/functional/utils/ovms_capi_image/Dockerfile.redhat |
Added Red Hat CAPI test image Dockerfile (binary package based) |
tests/functional/utils/ovms_binary_image/Dockerfile.ubuntu |
Added Ubuntu “binary docker” test image Dockerfile |
tests/functional/utils/ovms_binary_image/Dockerfile.redhat |
Added Red Hat “binary docker” test image Dockerfile |
tests/functional/utils/ov_hf_downloader.py |
New HF downloader/refresh helper for local model cache management |
tests/functional/utils/hooks.py |
Major expansion of pytest hooks: resource download, docker image build, timeout selection, selection/deselection logic |
tests/functional/utils/generative_ai/validation_utils.py |
Updated generative AI utilities to use repo-local datasets/utils |
tests/functional/utils/generative_ai/utils.py |
New shared generative AI helper utilities (request params, resource prep, unload verification) |
tests/functional/utils/download.py |
New download helper functions (wget/curl + locking) |
tests/functional/utils/docker.py |
Added DOCKER_CONTAINER_TMP_PATH constant for build/runtime logic |
tests/functional/utils/assertions.py |
Added OVHfDownloadException |
tests/functional/pylintrc |
Added pylintrc for functional tests |
tests/functional/object_model/python_custom_nodes/python_custom_nodes.py |
Refactored “LLM” node wrappers into more generic “generative” node hierarchy |
tests/functional/object_model/ovms_params.py |
Updated model handling to use repo-local ModelInfo and generalized CPU extension selection |
tests/functional/object_model/ovms_instance.py |
Switched ModelInfo import to repo-local models module |
tests/functional/object_model/ovms_info.py |
Moved DockerClient import to module scope |
tests/functional/object_model/ovms_config.py |
Switched ModelInfo import to repo-local models module |
tests/functional/object_model/ovms_capi.py |
Switched ModelInfo import to repo-local models module |
tests/functional/object_model/ovms_binary.py |
Generalized CPU extension selection based on model attribute |
tests/functional/object_model/mediapipe_calculators.py |
Switched ModelInfo import to repo-local models module |
tests/functional/object_model/inference_helpers.py |
Updated generative response validation branch to use is_generative |
tests/functional/object_model/custom_node.py |
Switched ModelInfo import to repo-local models module |
tests/functional/models/models.py |
New repo-local ModelInfo definition and model utilities |
tests/functional/models/models_library.py |
New minimal models library (currently generative/embeddings focused) |
tests/functional/models/models_generative.py |
New generative-model definitions, including HF-direct-load variants |
tests/functional/models/models_datasets.py |
New datasets module for generative and binary/image datasets |
tests/functional/models/__init__.py |
New package init for repo-local models |
tests/functional/fixtures/ovms.py |
Switched ModelInfo import to repo-local models module |
tests/functional/constants/requirements.py |
Added/organized requirement IDs for new generative endpoints/features |
tests/functional/constants/pipelines.py |
Switched ModelInfo import + updated mediapipe graph naming logic |
tests/functional/constants/paths.py |
Added shared lock-file paths for builds/downloads/clones |
tests/functional/constants/ovms_type.py |
Removed legacy type and added/organized dependency/tooling constants |
tests/functional/constants/ovms_images.py |
Added helper to calculate image/os combinations |
tests/functional/constants/ovms_cohere.py |
Added Cohere request params builder wrapper |
tests/functional/constants/os_version.py |
Added OS base-image constants/mappings |
tests/functional/conftest.py |
Added functional test conftest / plugin wiring and collection logic |
tests/functional/config.py |
Expanded config/env var support for on-commit execution (requirements/components filters, HF token, base images, etc.) |
ci/build_test_OnCommit.groovy |
Updated pipeline parameters/examples and exported env vars for doc tests |
pgladkows
reviewed
Jun 22, 2026
Comment on lines
+25
to
+27
| # libtbb is now available in /ovms/lib | ||
| #ARG OVMS_DEPENDENCIES="https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/tbb-2018.2-9.el8.x86_64.rpm" | ||
| #RUN dnf install -y pkg-config && rpm -ivh ${OVMS_DEPENDENCIES} |
pgladkows
reviewed
Jun 22, 2026
Comment on lines
+25
to
+27
| # libtbb is now available in /ovms/lib | ||
| #ARG OVMS_DEPENDENCIES="https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/Packages/tbb-2020.3-8.el9.x86_64.rpm" | ||
| #RUN dnf install -y pkg-config && rpm -ivh ${OVMS_DEPENDENCIES} |
pgladkows
reviewed
Jun 22, 2026
Comment on lines
+43
to
+44
| #COPY install_va.sh /tmp/install_va.sh | ||
| #RUN chmod 775 /tmp/install_va.sh && /tmp/install_va.sh |
pgladkows
approved these changes
Jun 22, 2026
06959d4 to
64e7a6c
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🛠 Summary
CVS-169692 enable python testing (part II)
🧪 Checklist
``