-
Notifications
You must be signed in to change notification settings - Fork 18
feat: multi packages #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,8 +27,6 @@ jobs: | |
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| enable-cache: true | ||
| - name: Install mellea from main branch | ||
| run: uv pip install git+https://github.com/generative-computing/mellea.git@main | ||
| # TODO: Enable pre-commit once code quality issues are fixed | ||
| # - name: pre-commit cache key | ||
| # run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> "$GITHUB_ENV" | ||
|
|
@@ -37,7 +35,7 @@ jobs: | |
| # path: ~/.cache/pre-commit | ||
| # key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} | ||
| - name: Install dependencies | ||
| run: uv sync --frozen --all-extras --group dev | ||
| run: uv sync --all-extras --group dev | ||
|
Comment on lines
-40
to
+38
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why did we take frozen out here? |
||
| # - name: Check style and run tests | ||
| # run: pre-commit run --all-files | ||
| # - name: Send failure message pre-commit | ||
|
|
@@ -49,8 +47,13 @@ jobs: | |
| run: nohup ollama serve & | ||
| - name: Pull model granite4:micro | ||
| run: ollama pull granite4:micro | ||
| - name: Run Tests | ||
| - 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 | ||
|
Comment on lines
+50
to
+56
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if the root tests fail, will this action still be marked as failing? |
||
| - name: Send failure message tests | ||
| if: failure() | ||
| run: echo "Tests failed. Please verify that tests are working locally." | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| [build-system] | ||
| requires = ["pdm-backend"] | ||
| build-backend = "pdm.backend" | ||
| requires = ["hatchling"] | ||
| build-backend = "hatchling.build" | ||
|
|
||
| [project] | ||
| name = "mellea-contribs" | ||
|
|
@@ -27,6 +27,9 @@ dependencies = [ | |
| "markdown", | ||
| ] | ||
|
|
||
| [tool.hatch.build.targets.wheel] | ||
| packages = ["mellea_contribs"] | ||
|
|
||
| [project.optional-dependencies] | ||
| robustness = [ | ||
| "benchdrift", | ||
|
|
@@ -145,5 +148,16 @@ parser_angular_allowed_types = "build,chore,ci,docs,feat,fix,perf,style,refactor | |
| parser_angular_minor_types = "release" | ||
| parser_angular_patch_types = "fix,perf,feat" | ||
|
|
||
| [tool.uv] | ||
| # Define workspace members | ||
| [tool.uv.workspace] | ||
| members = [ | ||
| ".", | ||
| "integrations/mellea-integration-core", | ||
| "integrations/crewai", | ||
| ] | ||
|
|
||
| [tool.uv.sources] | ||
| benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" } | ||
| benchdrift = { git = "https://github.com/IBM/BenchDrift.git", rev = "95db1c95b6abbc3b9f9bc177f6a7933c555c7175" } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 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. |
||
| mellea-integration-core = { workspace = true } | ||
| mellea-crewai = { workspace = true } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm okay with either; will default to you.