Fix poetry version mismatch between poetry.lock and precommit check
- fix poetry version mismatch between the precommit check and the one used to create poetry.lock
- create a poetry makefile target to normalize the poetry version used locally
Walkthrough
Adds bin/ to .gitignore and significantly refactors the Makefile: introduces Poetry bootstrap logic, new dependency management targets, reorganized check/docs/test sections, and new/renamed targets for LLM tests and docs building.
Changes
| Cohort / File(s) | Summary |
|---|---|
Git ignore rules./.gitignore |
Adds bin/ to ignored paths. |
Build and tooling (Makefile)./Makefile |
Reorganizes sections (Checks, Docs, Dependencies). Adds Poetry bootstrap with version check and auto-install. Introduces deps-install, deps-lock, docs-build, docs-strict, test-llm-ask-holmes (rename from test-llm-investigate), test-without-llm. Routes commands through Poetry. |
Sequence Diagram(s)
sequenceDiagram
autonumber
participant Dev as Developer
participant Make as Makefile
participant Sh as Shell
participant Py as Poetry Installer
participant Cmd as Target Command
Dev->>Make: make <target>
Make->>Sh: check POETRY presence and version
alt Poetry missing or mismatched
Sh-->>Make: not found / version mismatch
Make->>Py: install/upgrade Poetry
Py-->>Make: Poetry ready
else Poetry OK
Sh-->>Make: version OK
end
Make->>Cmd: run target via Poetry (e.g., deps/docs/tests)
Cmd-->>Dev: exit status and output
Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
- robusta-dev/holmesgpt#674 — Also switches documentation workflows to Poetry; likely overlaps with this PR’s Makefile docs targets and Poetry-based tooling.
Pre-merge checks and finishing touches
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title Check | ✅ Passed | The title clearly summarizes the primary change by referencing the poetry version mismatch fix between poetry.lock and the precommit check, which aligns with the Makefile updates and added poetry target in the changeset. |
| Description Check | ✅ Passed | The description concisely and accurately describes the main objectives of the changeset by outlining the poetry version mismatch fix and the creation of a Makefile target to normalize poetry, directly reflecting the modifications made. |
| Docstring Coverage | ✅ Passed | No functions found in the changes. Docstring coverage check skipped. |
✨ Finishing touches
🧪 Generate unit tests
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
fix-poetry-mismatch
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
We can leverage this PR to use makefile target as the only source of truth of the version or command for poetry-related commands.
cross-paltform ones might not be possible like building holmesgpt on Windows.
Since the check-in failure has been address. This PR is not urgent now.