Skip to content

build: support external plugin roots#640

Draft
voltjia wants to merge 1 commit into
ci/plugin-test-matrixfrom
build/external-plugin-roots
Draft

build: support external plugin roots#640
voltjia wants to merge 1 commit into
ci/plugin-test-matrixfrom
build/external-plugin-roots

Conversation

@voltjia
Copy link
Copy Markdown
Collaborator

@voltjia voltjia commented Jun 4, 2026

Summary

Allow builds and helper scripts to consume additional plugin roots, preparing for plugins hosted outside the main repository.

This PR is stacked on #639 (ci/plugin-test-matrix).

Changes

  • Add INFINI_OPS_PLUGIN_ROOTS as comma- or semicolon-separated extra plugin roots.
  • Keep INFINI_OPS_PLUGIN_ROOT as the built-in plugin root for compatibility.
  • Update CMake plugin lookup to search multiple roots and reject duplicate plugin entries.
  • Update Python registry loading and matrix logic to accept multiple roots.
  • Document external plugin root selection in docs/plugin_contract.md.

Validation

  • .venv/bin/python -m pytest -s -q tests/test_plugin_registry.py tests/test_plugin_test_matrix.py tests/test_generate_wrappers_plugins.py
  • .venv/bin/ruff check scripts/infini_ops_plugin_registry.py scripts/infini_ops_plugin_test_matrix.py scripts/generate_wrappers.py tests/test_plugin_registry.py tests/test_plugin_test_matrix.py tests/test_generate_wrappers_plugins.py
  • .venv/bin/python -m py_compile scripts/infini_ops_plugin_registry.py scripts/infini_ops_plugin_test_matrix.py scripts/generate_wrappers.py
  • git diff --check
  • External plugin root CMake configure/build smoke

Full-platform validation

Full stack validation was run on the top branch build/external-plugin-source-paths at pre-style-rebase commit 907eff70; see #643 validation comment: #643 (comment). The later rebase only updates PR metadata and diagnostic wording for CONTRIBUTING.md compliance.

  • NVIDIA: build passed; pytest failed with 1 failed, 3687 passed, 4404 skipped due to CUDA OOM in tests/test_torch_ops.py::test_op[..., svd] on the PyTorch reference path.
  • MetaX: 3183 passed, 3400 skipped.
  • Iluvatar: 2689 passed, 3894 skipped.
  • Moore: passed after preloading the container OpenMP runtime, 2949 passed, 3643 skipped.
  • Cambricon: 1781 passed, 4694 skipped.
  • Ascend: pytest passed with 3359 passed, 3233 skipped, but the container exited with code 137; treat as not fully green by the quality gate.

@voltjia voltjia changed the title Support external plugin roots build: support external plugin roots Jun 5, 2026
@voltjia voltjia force-pushed the ci/plugin-test-matrix branch from cc932ef to dcac4fc Compare June 5, 2026 08:05
@voltjia voltjia force-pushed the build/external-plugin-roots branch from 49127d9 to add9fd7 Compare June 5, 2026 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant