[projmgr] Introduce MLOps management#2472
Conversation
Test Results 3 files - 55 21 suites - 155 17m 29s ⏱️ - 5m 10s Results for commit b215c49. ± Comparison against base commit f9c518a. This pull request removes 451 and adds 1 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
56c9989 to
7c8889b
Compare
7c8889b to
17b442e
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces “MLOps management” support to projmgr by adding parsing of a new solution.mlops section and generating a corresponding *.cbuild-mlops.yml output file, along with schemas and unit-test coverage.
Changes:
- Add
mlopsparsing tocsolution.ymland propagate it through the internalCsolutionItemmodel. - Implement MLOps settings collection and emit a new
*.cbuild-mlops.ymlfile during conversion. - Extend JSON schemas and add test vectors/fixtures validating minimal/extended configs and failure cases.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/projmgr/test/src/ProjMgrUnitTests.cpp | Adds GenerateMLOps unit test covering generation and failure scenarios. |
| tools/projmgr/test/data/MLOps/vela/custom.ini | Test fixture for explicit Vela INI path handling. |
| tools/projmgr/test/data/MLOps/ref/minimal.cbuild-mlops.yml | Reference output for minimal MLOps configuration. |
| tools/projmgr/test/data/MLOps/ref/extended.cbuild-mlops.yml | Reference output for extended MLOps configuration. |
| tools/projmgr/test/data/MLOps/npu_type_only.csolution.yml | Test input for inferring MACs from explicit NPU type. |
| tools/projmgr/test/data/MLOps/npu_macs_only.csolution.yml | Test input for inferring type from explicit MACs. |
| tools/projmgr/test/data/MLOps/minimal.csolution.yml | Minimal mlops-enabled solution test input. |
| tools/projmgr/test/data/MLOps/fvp/fvp_config.txt | Test fixture for simulator config-file path handling. |
| tools/projmgr/test/data/MLOps/failure1.csolution.yml | Negative test input (unknown hardware target). |
| tools/projmgr/test/data/MLOps/failure2.csolution.yml | Negative test input (unknown simulator target). |
| tools/projmgr/test/data/MLOps/failure3.csolution.yml | Negative test input (missing target-set/default selection issues). |
| tools/projmgr/test/data/MLOps/failure4.csolution.yml | Negative test input (missing project-contexts in target-set). |
| tools/projmgr/test/data/MLOps/core0/core0.cproject.yml | Minimal project fixture for MLOps tests. |
| tools/projmgr/test/data/MLOps/core1/core1.cproject.yml | Minimal project fixture for MLOps tests. |
| tools/projmgr/test/data/MLOps/ai_layer/ai_layer.clayer.yml | Minimal layer fixture used by MLOps tests. |
| tools/projmgr/src/ProjMgrYamlSchemaChecker.cpp | Adjusts missing-file error reporting for schema validation. |
| tools/projmgr/src/ProjMgrYamlParser.cpp | Parses new solution.mlops section and allows the mlops key. |
| tools/projmgr/src/ProjMgrMlops.cpp | Implements MLOps settings collection from targets/contexts/NPU info. |
| tools/projmgr/src/ProjMgrCbuildMlops.cpp | Emits *.cbuild-mlops.yml via ProjMgrYamlEmitter::GenerateMlops. |
| tools/projmgr/src/ProjMgr.cpp | Integrates MLOps generation into the conversion flow. |
| tools/projmgr/schemas/common.schema.json | Adds mlops input schema and cbuild-mlops output schema definitions. |
| tools/projmgr/schemas/cbuild-mlops.schema.json | Introduces schema for generated cbuild-mlops files. |
| tools/projmgr/include/ProjMgrYamlParser.h | Adds YAML key constants and ParseMlops declaration. |
| tools/projmgr/include/ProjMgrYamlEmitter.h | Declares GenerateMlops API and includes MLOps types. |
| tools/projmgr/include/ProjMgrWorker.h | Promotes helpers used by MLOps collection and updates declarations. |
| tools/projmgr/include/ProjMgrParser.h | Extends CsolutionItem model with MlopsItem and related structs. |
| tools/projmgr/include/ProjMgrMlops.h | Adds public interface/type definitions for MLOps management. |
| tools/projmgr/include/ProjMgr.h | Wires ProjMgrMlops into ProjMgr. |
| tools/projmgr/CMakeLists.txt | Adds new MLOps sources/headers to the build. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Sourabh Mehta <73165318+soumeh01@users.noreply.github.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2472 +/- ##
==========================================
+ Coverage 64.97% 65.17% +0.19%
==========================================
Files 145 147 +2
Lines 26381 26621 +240
Branches 15953 16128 +175
==========================================
+ Hits 17142 17351 +209
- Misses 7069 7073 +4
- Partials 2170 2197 +27
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Fixes
Changes
mlopsparsing tocsolution.ymland propagate it through the internalCsolutionItemmodel.*.cbuild-mlops.ymlfile during conversion.Checklist