-
Notifications
You must be signed in to change notification settings - Fork 13
perf: only process newer candidate versions #720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe PR introduces an "earliest version for evaluation" feature that enables filtering deployment candidate versions based on creation timestamps. The parameter threads through the reconciliation pipeline: from options constructors through handlers and planner to the versions manager, where it performs time-based filtering on candidate versions. Changes
Sequence DiagramsequenceDiagram
participant Handler as Event Handler
participant Orch as Orchestrator
participant Plan as Planner
participant VM as Versions Manager
Handler->>Orch: Reconcile(WithEarliestVersionForEvaluation(version))
Note over Orch: Extract earliestVersionForEvaluation<br/>from options
Orch->>Plan: PlanDeployment(WithEarliestVersionForEvaluation(...))
Note over Plan: Store in planDeploymentConfig
Plan->>VM: GetCandidateVersions(releaseTarget,<br/>earliestVersionForEvaluation)
Note over VM: Filter versions where<br/>CreatedAt >= earliestVersion.CreatedAt
VM-->>Plan: [filtered candidates]
Plan-->>Orch: deployment plan
Orch-->>Handler: reconciliation result
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Key areas requiring attention:
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (6)
🧰 Additional context used📓 Path-based instructions (2)apps/workspace-engine/**/*.go📄 CodeRabbit inference engine (apps/workspace-engine/CLAUDE.md)
Files:
apps/workspace-engine/**/*_test.go📄 CodeRabbit inference engine (apps/workspace-engine/CLAUDE.md)
Files:
🧠 Learnings (5)📓 Common learnings📚 Learning: 2025-08-12T20:49:05.086ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-10-24T00:02:29.723ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
🧬 Code graph analysis (6)apps/workspace-engine/pkg/workspace/releasemanager/opts.go (3)
apps/workspace-engine/test/e2e/engine_environment_progression_soak_test.go (1)
apps/workspace-engine/pkg/workspace/releasemanager/deployment/planner.go (3)
apps/workspace-engine/pkg/workspace/releasemanager/versions/manager.go (2)
apps/workspace-engine/pkg/workspace/releasemanager/deployment_orchestrator.go (2)
apps/workspace-engine/pkg/events/handler/deploymentversion/deploymentversion.go (3)
⏰ 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). (5)
🔇 Additional comments (6)
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 |
Summary by CodeRabbit
New Features
Tests