feat: multi packages - #37
Conversation
Merge ProtectionsYour pull request matches the following merge protections and will not be merged until they are valid. 🟢 Enforce conventional commitWonderful, this rule succeeded.Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
|
Signed-off-by: Akihiko Kuroda <akihikokuroda2020@gmail.com>
64516de to
387289c
Compare
- Fix import paths to match mellea 0.3.1 API changes: - mellea.stdlib.base → mellea.stdlib.context/components - mellea.stdlib.requirement → mellea.stdlib.requirements - mellea.backends.types → mellea.backends - Replace FancyLogger with Python's standard logging module - Update CI workflow to use uv sync without --frozen for workspace resolution - All 94 tests now passing Fixes the ModuleNotFoundError issues that occurred after the workspace refactoring. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: Akihiko Kuroda <akihikokuroda2020@gmail.com>
| run: uv sync --frozen --all-extras --group dev | ||
| run: uv sync --all-extras --group dev |
There was a problem hiding this comment.
why did we take frozen out here?
| - name: Run Root Package Tests | ||
| run: uv run -m pytest -v test | ||
| continue-on-error: true | ||
| - name: Run mellea-integration-core Tests | ||
| run: cd integrations/mellea-integration-core && uv run pytest -v | ||
| - name: Run mellea-crewai Tests | ||
| run: cd integrations/crewai && PYTHONPATH=src:../mellea-integration-core/src uv run pytest -v --ignore=tests/integration |
There was a problem hiding this comment.
if the root tests fail, will this action still be marked as failing?
jakelorocco
left a comment
There was a problem hiding this comment.
Please feel free to ignore my comments if there's been a discussion I missed and a consensus has already been reached.
In addition to my comments on files:
- I think we should restructure this repo. I don't think we need to separate out integrations and mellea_contribs. I think everything should live in mellea_contribs folder.
- Subfolders should be a consistent package. It makes sense to me to have crewai, mellea-integration-core, etc... to be separate workspace packages. We may need to split up existing files in reqlib, tools, etc... and couple them with their respective tests.
There was a problem hiding this comment.
I think the final result of this repo cannot use a workflow that runs tests on every sub-package. I think we should force some sort of consistent quality on each sub-package individually IFF your changes touch that subpackage.
For instance, we could have a standard way of defining the tests in a subpackage and then if there's changes to that folder, we run those tests. It won't catch everything, but it will prevent packages from preventing merges of other packages.
There was a problem hiding this comment.
so essentially each sub-package would have its own CI and could run using a paths filter... that makes sense to me
There was a problem hiding this comment.
OK. I'll restructure this repo. Are sub directories under "mellea_contribs" used for grouping for the packages or categolized by the directory name?
mellea_contribs/integrations/langchain
or
mellea_contribs/integration_langchain
There was a problem hiding this comment.
I'm okay with either; will default to you.
|
|
||
| [tool.uv.sources] | ||
| benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" } No newline at end of file | ||
| benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" } |
There was a problem hiding this comment.
I think non-workspace member packages (that aren't used for top-level quality control / testing) should be moved to individual workspace pyproject.toml files.
|
close this. This work moved to #40 |
Make multiple package workspace
fix #38