Updated CICD guide - #760
Conversation
WalkthroughThe documentation was updated to revise CI/CD pipeline integration examples for HolmesGPT, detailing a new installation and execution process using Poetry and repository cloning. Additionally, a reference to scripting and automation was removed from the interactive mode walkthrough. No code or API changes were made. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~7 minutes Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
docs/walkthrough/cicd-troubleshooting.md (2)
13-18: Clone step can be faster & more resilientA couple of low-effort tweaks make the example snappier and less brittle:
--depth 1avoids downloading the full git history (saves ~200 MB and time).- Cloning a feature branch (
slack-markdown-fix) ties the CI to a moving target. Prefer a tagged release ormain, or expose the branch as an input/var so users don’t have to edit the YAML.- git clone -b slack-markdown-fix https://github.com/robusta-dev/holmesgpt.git /tmp/holmesgpt + git clone --depth 1 \ + -b "${{ env.HOLMESGPT_BRANCH:-main }}" \ + https://github.com/robusta-dev/holmesgpt.git /tmp/holmesgptThis keeps the example future-proof without extra complexity.
Also applies to: 102-105
20-24: Consider using Poetry’s recommended “install-with-pipx” pathThe curl-pipe-to-python approach works but:
- It bypasses pipx’s isolation & easy cache reuse.
- GitHub Actions already has pipx pre-installed.
A one-liner alternative:
- curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0 - export PATH="$HOME/.local/bin:$PATH" + pipx install poetry==1.4.0Not blocking, just read-time optimisation advice.
Also applies to: 106-111
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/walkthrough/cicd-troubleshooting.md(4 hunks)docs/walkthrough/interactive-mode.md(0 hunks)
💤 Files with no reviewable changes (1)
- docs/walkthrough/interactive-mode.md
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: nherment
PR: robusta-dev/holmesgpt#610
File: .github/workflows/llm-evaluation.yaml:39-42
Timestamp: 2025-07-08T08:45:41.069Z
Learning: The robusta-dev/holmesgpt codebase has comprehensive existing validation for Azure environment variables (AZURE_API_BASE, AZURE_API_KEY, AZURE_API_VERSION) and MODEL in tests/llm/utils/classifiers.py, tests/llm/conftest.py, and holmes/core/llm.py. Don't suggest adding redundant validation logic.
Learnt from: nherment
PR: robusta-dev/holmesgpt#436
File: tests/llm/utils/mock_utils.py:240-249
Timestamp: 2025-06-05T12:23:27.634Z
Learning: The holmesgpt project uses Python >= 3.10 and prefers modern type hint syntax like `list[str]`, `dict[str, int]` over importing equivalent types from the typing module like `List[str]`, `Dict[str, int]`.
docs/walkthrough/cicd-troubleshooting.md (3)
Learnt from: nherment
PR: #610
File: .github/workflows/llm-evaluation.yaml:39-42
Timestamp: 2025-07-08T08:45:41.069Z
Learning: The robusta-dev/holmesgpt codebase has comprehensive existing validation for Azure environment variables (AZURE_API_BASE, AZURE_API_KEY, AZURE_API_VERSION) and MODEL in tests/llm/utils/classifiers.py, tests/llm/conftest.py, and holmes/core/llm.py. Don't suggest adding redundant validation logic.
Learnt from: CR
PR: robusta-dev/holmesgpt#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-27T14:10:31.590Z
Learning: Applies to holmes/plugins/prompts/**/*.jinja2 : Prompts: holmes/plugins/prompts/{name}.jinja2
Learnt from: nherment
PR: #408
File: holmes/plugins/toolsets/kubernetes_logs.py:90-97
Timestamp: 2025-05-15T05:13:43.169Z
Learning: In the Kubernetes logs toolset for Holmes, both current and previous logs are intentionally fetched and combined for each pod, even though this requires more API calls. This design ensures all logs are captured even when pods restart but retain their name, providing complete diagnostic information.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: llm_evals
- GitHub Check: Pre-commit checks
- GitHub Check: Pre-commit checks
🔇 Additional comments (1)
docs/walkthrough/cicd-troubleshooting.md (1)
35-48: Verify CLI support for HOLMES_SLACK_TOKENI wasn’t able to locate any code paths where
holmes askreadsHOLMES_SLACK_TOKEN. Please confirm that the CLI honors this environment variable before dropping the--slack-tokenflag. If it does, updatedocs/walkthrough/cicd-troubleshooting.mdaccordingly:- poetry run holmes ask \ - --slack-token "${{ secrets.SLACK_TOKEN }}" \ + export HOLMES_SLACK_TOKEN="${{ secrets.SLACK_TOKEN }}" + poetry run holmes ask \ --no-interactive \ --destination slack \ - --slack-token "${{ secrets.SLACK_TOKEN }}" \ --slack-channel "#YOUR_CHANNEL_NAME"Also apply the same change to lines 124–135.
No description provided.