ci: fix workflow required-check names for feat/sdk-openapi-cherry-pick#509
ci: fix workflow required-check names for feat/sdk-openapi-cherry-pick#509KooshaPari wants to merge 2 commits intofeat/sdk-openapi-cherry-pickfrom
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughIntroduces a GitHub Actions workflow for automated PR merging and refactors SDK configuration type handling by consolidating internal config definitions into type aliases that reference external SDK packages. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/auto-merge.yml:
- Line 30: Replace the mutable tag "uses:
peter-evans/enable-pull-request-automerge@v3" with the action pinned to a full
commit SHA; locate the latest stable commit SHA in the
peter-evans/enable-pull-request-automerge repository and update the uses line to
"uses: peter-evans/enable-pull-request-automerge@<full-sha>" so the workflow
(the line currently showing uses: peter-evans/enable-pull-request-automerge@v3)
no longer references a mutable tag.
In `@pkg/llmproxy/access/reconcile.go`:
- Around line 89-98: The code manually copies fields into a new sdkCfg instead
of using the existing struct alias; replace the field-by-field mapping with a
direct assignment from newCfg.SDKConfig to sdkCfg (e.g., make a local copy:
sdkCfg := newCfg.SDKConfig) and pass its address to configaccess.Register, and
remove the unnecessary sdkconfig.StreamingConfig(...) conversion so the
Streaming field is preserved via the direct assignment; keep references to the
identifiers sdkCfg, sdkconfig.SDKConfig, newCfg.SDKConfig, and
configaccess.Register.
ℹ️ Review info
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/auto-merge.ymlpkg/llmproxy/access/reconcile.gopkg/llmproxy/api/handlers/management/config_basic.gopkg/llmproxy/config/sdk_types.go
📜 Review details
⏰ 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). (1)
- GitHub Check: Analyze (Go) (go)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.go
📄 CodeRabbit inference engine (AGENTS.md)
**/*.go: NEVER create a v2 file - refactor the original instead
NEVER create a new class if an existing one can be made generic
NEVER create custom implementations when an OSS library exists - search pkg.go.dev for existing libraries before writing code
Build generic building blocks (provider interface + registry) before application logic
Use chi for HTTP routing (NOT custom routers)
Use zerolog for logging (NOT fmt.Print)
Use viper for configuration (NOT manual env parsing)
Use go-playground/validator for validation (NOT manual if/else validation)
Use golang.org/x/time/rate for rate limiting (NOT custom limiters)
Use template strings for messages instead of hardcoded messages and config-driven logic instead of code-driven
Zero new lint suppressions without inline justification
All new code must pass: go fmt, go vet, golint
Maximum function length: 40 lines
No placeholder TODOs in committed code
Files:
pkg/llmproxy/api/handlers/management/config_basic.gopkg/llmproxy/config/sdk_types.gopkg/llmproxy/access/reconcile.go
🧠 Learnings (1)
📚 Learning: 2026-02-25T10:11:41.448Z
Learnt from: CR
Repo: KooshaPari/cliproxyapi-plusplus PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-25T10:11:41.448Z
Learning: Applies to **/*.go : Build generic building blocks (provider interface + registry) before application logic
Applied to files:
pkg/llmproxy/api/handlers/management/config_basic.go
🧬 Code graph analysis (2)
pkg/llmproxy/api/handlers/management/config_basic.go (1)
pkg/llmproxy/config/sdk_types.go (1)
SDKConfig(7-7)
pkg/llmproxy/access/reconcile.go (1)
pkg/llmproxy/config/sdk_types.go (2)
SDKConfig(7-7)StreamingConfig(8-8)
🔇 Additional comments (2)
pkg/llmproxy/config/sdk_types.go (1)
6-8: Good alias consolidation.This keeps config types aligned with SDK definitions and avoids local type drift.
pkg/llmproxy/api/handlers/management/config_basic.go (1)
47-48: Type alignment here looks correct.Using
config.SDKConfigat this call site is consistent with the new alias-based SDK config unification.
| if: | | ||
| contains(github.event.pull_request.labels.*.name, 'automerge') && | ||
| !contains(github.event.pull_request.labels.*.name, 'do-not-merge') | ||
| uses: peter-evans/enable-pull-request-automerge@v3 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Check if the file exists and examine its contents
if [ -f ".github/workflows/auto-merge.yml" ]; then
echo "=== File exists, showing content ===";
wc -l ".github/workflows/auto-merge.yml";
cat -n ".github/workflows/auto-merge.yml";
else
echo "File not found";
fiRepository: KooshaPari/cliproxyapi-plusplus
Length of output: 1186
🏁 Script executed:
# Run the verification script from the review comment
rg -nP '^\s*uses:\s*[^@]+@(?![0-9a-f]{40}\b)[^\s]+' .github/workflowsRepository: KooshaPari/cliproxyapi-plusplus
Length of output: 2427
Pin the GitHub Action to an immutable commit SHA.
Line 30 uses a mutable tag (@v3) in a pull_request_target workflow with write permissions (pull-requests: write). Pin to a full commit SHA to reduce supply-chain risk.
Suggested change
- uses: peter-evans/enable-pull-request-automerge@v3
+ uses: peter-evans/enable-pull-request-automerge@<full-length-commit-sha> # v3🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/auto-merge.yml at line 30, Replace the mutable tag "uses:
peter-evans/enable-pull-request-automerge@v3" with the action pinned to a full
commit SHA; locate the latest stable commit SHA in the
peter-evans/enable-pull-request-automerge repository and update the uses line to
"uses: peter-evans/enable-pull-request-automerge@<full-sha>" so the workflow
(the line currently showing uses: peter-evans/enable-pull-request-automerge@v3)
no longer references a mutable tag.
| sdkCfg := sdkconfig.SDKConfig{ | ||
| ProxyURL: newCfg.SDKConfig.ProxyURL, | ||
| ForceModelPrefix: newCfg.SDKConfig.ForceModelPrefix, | ||
| RequestLog: newCfg.SDKConfig.RequestLog, | ||
| APIKeys: newCfg.SDKConfig.APIKeys, | ||
| PassthroughHeaders: newCfg.SDKConfig.PassthroughHeaders, | ||
| Streaming: sdkconfig.StreamingConfig(newCfg.SDKConfig.Streaming), | ||
| NonStreamKeepAliveInterval: newCfg.SDKConfig.NonStreamKeepAliveInterval, | ||
| } | ||
| configaccess.Register(&sdkCfg) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check SDKConfig alias definition in config package
echo "=== Searching for SDKConfig alias in pkg/llmproxy/config ==="
fd 'sdk_types.go' --type f | xargs -I {} sh -c 'echo "File: {}"; cat -n "{}"'
echo ""
echo "=== Searching for SDKConfig struct in sdkconfig package ==="
fd '*.go' -path '*/sdkconfig/*' --type f | head -20
echo ""
echo "=== Searching for SDKConfig struct definition ==="
rg -n 'type\s+SDKConfig\s+struct' --type go -A 50Repository: KooshaPari/cliproxyapi-plusplus
Length of output: 4120
🏁 Script executed:
#!/bin/bash
# Check the specific lines in reconcile.go and surrounding context
echo "=== Checking reconcile.go lines 80-105 ==="
sed -n '80,105p' pkg/llmproxy/access/reconcile.go | cat -n -vRepository: KooshaPari/cliproxyapi-plusplus
Length of output: 1538
🏁 Script executed:
#!/bin/bash
# Search for the types in imports to understand the relationship
echo "=== Check imports in reconcile.go ==="
head -30 pkg/llmproxy/access/reconcile.go | cat -n
echo ""
echo "=== Search for config.SDKConfig type definition ==="
rg -n 'SDKConfig' pkg/llmproxy/config/ --type go | head -20Repository: KooshaPari/cliproxyapi-plusplus
Length of output: 1660
Use direct assignment instead of manual field-by-field copying.
Since config.SDKConfig is an alias for sdkconfig.SDKConfig, manually mapping fields in lines 89-97 is error-prone when the struct evolves. The type conversion on line 95 (sdkconfig.StreamingConfig(newCfg.SDKConfig.Streaming)) is unnecessary and suggests type uncertainty. Replace with direct assignment:
Suggested change
- sdkCfg := sdkconfig.SDKConfig{
- ProxyURL: newCfg.SDKConfig.ProxyURL,
- ForceModelPrefix: newCfg.SDKConfig.ForceModelPrefix,
- RequestLog: newCfg.SDKConfig.RequestLog,
- APIKeys: newCfg.SDKConfig.APIKeys,
- PassthroughHeaders: newCfg.SDKConfig.PassthroughHeaders,
- Streaming: sdkconfig.StreamingConfig(newCfg.SDKConfig.Streaming),
- NonStreamKeepAliveInterval: newCfg.SDKConfig.NonStreamKeepAliveInterval,
- }
+ sdkCfg := newCfg.SDKConfig
configaccess.Register(&sdkCfg)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| sdkCfg := sdkconfig.SDKConfig{ | |
| ProxyURL: newCfg.SDKConfig.ProxyURL, | |
| ForceModelPrefix: newCfg.SDKConfig.ForceModelPrefix, | |
| RequestLog: newCfg.SDKConfig.RequestLog, | |
| APIKeys: newCfg.SDKConfig.APIKeys, | |
| PassthroughHeaders: newCfg.SDKConfig.PassthroughHeaders, | |
| Streaming: sdkconfig.StreamingConfig(newCfg.SDKConfig.Streaming), | |
| NonStreamKeepAliveInterval: newCfg.SDKConfig.NonStreamKeepAliveInterval, | |
| } | |
| configaccess.Register(&sdkCfg) | |
| sdkCfg := newCfg.SDKConfig | |
| configaccess.Register(&sdkCfg) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pkg/llmproxy/access/reconcile.go` around lines 89 - 98, The code manually
copies fields into a new sdkCfg instead of using the existing struct alias;
replace the field-by-field mapping with a direct assignment from
newCfg.SDKConfig to sdkCfg (e.g., make a local copy: sdkCfg := newCfg.SDKConfig)
and pass its address to configaccess.Register, and remove the unnecessary
sdkconfig.StreamingConfig(...) conversion so the Streaming field is preserved
via the direct assignment; keep references to the identifiers sdkCfg,
sdkconfig.SDKConfig, newCfg.SDKConfig, and configaccess.Register.
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
|
[HELIOS-CODEX] Retro-versioned and grouped.
This PR is aligned for stacked/layered merge in the HELIOS-CODEX run and should merge after any earlier wave dependency and before any later-wave dependency. |
|
[HELIOS-CODEX] Retro-versioned and grouped.\n\n- version stamp: HELIOS-CODEX/v6.8.87-0-codex0.101.0\n- effective semantic version: v6.8.87-0+codex0.101.0\n- package: pkg:he:core-sdk-openapi\n- layer: HELIOS-CODEX-L0\n- stack lane: Wave A (foundation)\n- branch scope: feat/sdk-openapi-cherry-pick\n- change package: sdk openapi cherry-pick\n\nThis PR is aligned for stacked/layered merge in the HELIOS-CODEX run and should merge after any earlier wave dependency and before any later-wave dependency. |
|
[HELIOS-CODEX] Versioning rule corrected.\n\nUse this pattern from now on: <project_version>-<codex_minor>.<codex_patch>.\n\n- project version: 0.1.3\n- codex version: 0.123.1\n- corrected composite version: 0.1.3-${codex_version#0.} |
HELIOS-CODEX versioning correctionUse the corrected composite rule:
Please keep prior HELIOS notes but normalize package/version fields to this format in labels, release notes, and future comments. |
Layered CI fix PR for feat/sdk-openapi-cherry-pick.
Summary by CodeRabbit
Chores
Refactor