Repository navigation
Conversation
Add paths-ignore filters to eval-regression, cli-performance, and docker-dev-images workflows so they don't run when a PR only changes documentation files (docs/**, *.md, mkdocs.yml). Other triggers like workflow_dispatch, issue_comment, push to master, and schedule are unaffected since GitHub Actions paths filters only apply to push and pull_request events. https://claude.ai/code/session_01JGwBxWqzQyD3Wwd5K4HtV8 Signed-off-by: Claude <noreply@anthropic.com>
📂 Previous Runs📜 Run @ 5f5d156 (#22171587015)✅ Results of HolmesGPT evalsAutomatically triggered by commit 5f5d156 on branch Results of HolmesGPT evals
✅ Results of HolmesGPT evalsAutomatically triggered by commit 895f57f on branch Results of HolmesGPT evals
📖 Legend
🔄 Re-run evals manually
Option 1: Comment on this PR with Or with more options (one per line): Run evals on a different branch (e.g., master) for comparison:
Quick re-run: Use Option 2: Trigger via GitHub Actions UI → "Run workflow" 🏷️ Valid markers
Commands: CLI: |
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:e61425b
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:e61425b me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:e61425b
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:e61425bPatch Helm values in one line (choose the chart you use): HolmesGPT chart: helm upgrade --install holmesgpt ./helm/holmes \
--set registry=me-west1-docker.pkg.dev/robusta-development/development \
--set image=holmes-dev:e61425bRobusta wrapper chart: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set holmes.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set holmes.image=holmes-dev:e61425b |
✅ Deploy Preview for holmes-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
🔬 CLI Performance Benchmark🟡 Startup Time (no LLM)Measures
🟡 Full CLI with LLMMeasures
PR: |
paths-ignore prevents the workflow from triggering entirely, which causes required status checks to stay in "expected" state and block PR merges. Instead, always trigger the workflow but add a lightweight check-changes job using dorny/paths-filter that detects docs-only PRs. Expensive jobs (evals, benchmarks, docker build) depend on it and get cleanly "skipped" when only docs/md/mkdocs.yml files changed - which satisfies required status checks. For eval-regression.yaml, check-changes only runs on pull_request events. Non-PR triggers (push, workflow_dispatch, issue_comment) are unaffected because the output defaults to empty (not 'false'), so llm_evals still runs. https://claude.ai/code/session_01JGwBxWqzQyD3Wwd5K4HtV8 Signed-off-by: Claude <noreply@anthropic.com>
WalkthroughThe PR adds a new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/eval-regression.yaml (1)
139-150: Well-crafted gating condition — the!= 'false'check is key.The use of
!= 'false'(rather than== 'true') is the correct approach here: whencheck-changesis skipped for non-PR events, its output is empty, and'' != 'false'evaluates totrue, allowing push/workflow_dispatch/issue_comment triggers to proceed unimpeded. Combined with!cancelled()to override the defaultsuccess()evaluation onneeds, this correctly skips evals only for docs-only PRs.Consider adding a brief inline comment (e.g.,
# != 'false' (not == 'true') so non-PR triggers pass through when check-changes is skipped) for future maintainers, since this pattern is easy to inadvertently "fix" into== 'true'.💡 Suggested inline comment
if: | !cancelled() && + # Use != 'false' (not == 'true') so that non-PR triggers pass through + # when check-changes is skipped and output is empty needs.check-changes.outputs.has_code_changes != 'false' &&🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/eval-regression.yaml around lines 139 - 150, Add a short inline comment explaining why the gating uses "needs.check-changes.outputs.has_code_changes != 'false'" (instead of "== 'true'") next to the condition in the llm_evals job and mention the role of "!cancelled()" in overriding default needs evaluation; locate the condition that contains "!cancelled() && needs.check-changes.outputs.has_code_changes != 'false' && (...)" and insert a one-line comment such as "# use != 'false' (not == 'true') so non-PR triggers pass when check-changes is skipped" to prevent future accidental changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/eval-regression.yaml:
- Around line 139-150: Add a short inline comment explaining why the gating uses
"needs.check-changes.outputs.has_code_changes != 'false'" (instead of "==
'true'") next to the condition in the llm_evals job and mention the role of
"!cancelled()" in overriding default needs evaluation; locate the condition that
contains "!cancelled() && needs.check-changes.outputs.has_code_changes !=
'false' && (...)" and insert a one-line comment such as "# use != 'false' (not
== 'true') so non-PR triggers pass when check-changes is skipped" to prevent
future accidental changes.
Summary
This PR adds
paths-ignorefilters to three GitHub Actions workflows to prevent unnecessary CI runs when only documentation files are modified.Key Changes
All three workflows now ignore changes to:
docs/**directory**/*.mdmarkdown filesmkdocs.ymlconfiguration fileBenefits
https://claude.ai/code/session_01JGwBxWqzQyD3Wwd5K4HtV8
Summary by CodeRabbit