Skip to content

[projmgr] Introduce MLOps management#2472

Merged
brondani merged 3 commits into
mainfrom
projmgr-introduce-mlops
May 8, 2026
Merged

[projmgr] Introduce MLOps management#2472
brondani merged 3 commits into
mainfrom
projmgr-introduce-mlops

Conversation

@brondani
Copy link
Copy Markdown
Collaborator

@brondani brondani commented May 7, 2026

Fixes

Changes

  • Add mlops parsing to csolution.yml and propagate it through the internal CsolutionItem model.
  • Implement MLOps settings collection and emit a new *.cbuild-mlops.yml file during conversion.
  • Extend JSON schemas and add test vectors/fixtures validating minimal/extended configs and failure cases.

Checklist

  • 🤖 This change is covered by unit tests (if applicable).
  • 🤹 Manual testing has been performed (if necessary).
  • 🛡️ Security impacts have been considered (if relevant).
  • 📖 Documentation updates are complete (if required).
  • 🧠 Third-party dependencies and TPIP updated (if required).

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

Test Results

    3 files   -    55     21 suites   - 155   17m 29s ⏱️ - 5m 10s
  463 tests  -   450    463 ✅  -   433  0 💤  - 17  0 ❌ ±0 
1 389 runs   - 1 487  1 389 ✅  - 1 419  0 💤  - 68  0 ❌ ±0 

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.
AuxCmdTests ‑ MkdirCmdTest
AuxCmdTests ‑ RmdirCmdTest
AuxCmdTests ‑ TouchCmdTest
BuildSystemGeneratorTests ‑ GenAuditFile
BuildSystemGeneratorTests ‑ GenAuditFile_WithOut_Existing_Audit_File
BuildSystemGeneratorTests ‑ GenAuditFile_With_Existing_Audit_File
BuildSystemGeneratorTests ‑ GetString
BuildSystemGeneratorTests ‑ StrConv
BuildSystemGeneratorTests ‑ StrNorm
CBuildGCCTests ‑ Asm
…
ProjMgrUnitTests ‑ GenerateMLOps

♻️ This comment has been updated with latest results.

Comment thread tools/projmgr/src/ProjMgrMlops.cpp Fixed
@brondani brondani force-pushed the projmgr-introduce-mlops branch 3 times, most recently from 56c9989 to 7c8889b Compare May 8, 2026 09:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 mlops parsing to csolution.yml and propagate it through the internal CsolutionItem model.
  • Implement MLOps settings collection and emit a new *.cbuild-mlops.yml file 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.

Comment thread tools/projmgr/src/ProjMgrYamlSchemaChecker.cpp
Comment thread tools/projmgr/include/ProjMgrWorker.h Outdated
Comment thread tools/projmgr/include/ProjMgrYamlParser.h Outdated
@brondani brondani marked this pull request as ready for review May 8, 2026 10:00
@brondani brondani requested a review from soumeh01 May 8, 2026 10:00
soumeh01
soumeh01 previously approved these changes May 8, 2026
Comment thread tools/projmgr/include/ProjMgrMlops.h Outdated
Comment thread tools/projmgr/src/ProjMgrCbuildMlops.cpp Outdated
Co-authored-by: Sourabh Mehta <73165318+soumeh01@users.noreply.github.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 8, 2026

Codecov Report

❌ Patch coverage is 86.30705% with 33 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.17%. Comparing base (f9c518a) to head (b215c49).

Files with missing lines Patch % Lines
tools/projmgr/src/ProjMgrMlops.cpp 80.00% 4 Missing and 27 partials ⚠️
tools/projmgr/src/ProjMgrCbuildMlops.cpp 95.65% 0 Missing and 2 partials ⚠️
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     
Flag Coverage Δ
projmgr-cov 87.86% <86.30%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
tools/projmgr/include/ProjMgr.h 100.00% <ø> (ø)
tools/projmgr/include/ProjMgrParser.h 100.00% <ø> (ø)
tools/projmgr/include/ProjMgrWorker.h 83.33% <ø> (ø)
tools/projmgr/src/ProjMgr.cpp 86.28% <100.00%> (+0.13%) ⬆️
tools/projmgr/src/ProjMgrYamlParser.cpp 85.06% <100.00%> (+0.57%) ⬆️
tools/projmgr/src/ProjMgrYamlSchemaChecker.cpp 88.00% <100.00%> (ø)
tools/projmgr/src/ProjMgrCbuildMlops.cpp 95.65% <95.65%> (ø)
tools/projmgr/src/ProjMgrMlops.cpp 80.00% <80.00%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@brondani brondani merged commit 2834dc7 into main May 8, 2026
33 checks passed
@brondani brondani deleted the projmgr-introduce-mlops branch May 8, 2026 14:52
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.

4 participants