holmesgpt icon indicating copy to clipboard operation
holmesgpt copied to clipboard

Fix poetry version mismatch between poetry.lock and precommit check

Open mainred opened this issue 3 months ago • 2 comments

  • 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

mainred avatar Sep 26 '25 05:09 mainred

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Sep 26 '25 05:09 coderabbitai[bot]

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.

mainred avatar Sep 29 '25 03:09 mainred