chore: add reconcile hook for env progression dependencies#736
chore: add reconcile hook for env progression dependencies#736adityachoudhari26 merged 1 commit intomainfrom
Conversation
📝 WalkthroughWalkthroughThe pull request introduces environment progression functionality by adding an action that evaluates policies restricting target progression between environments, collects matching release targets, and reconciles them through a provided function. The workspace engine is updated to integrate this action with a unified reconciliation pattern, and end-to-end tests validate the policy-driven progression behavior. Changes
Sequence DiagramsequenceDiagram
participant E as Execute
participant S as Store
participant P as Policy Evaluator
participant R as Release Manager
E->>S: getEnvironment(envId)
S-->>E: environment
E->>P: getProgressionDependentPolicies(environment)
P-->>E: policies[]
loop For each policy
E->>S: GetForPolicy(policy)
S-->>E: releaseTargets{}
end
E->>E: Aggregate unique targets
loop For each target
E->>R: reconcileFn(target)
R-->>E: result/error
end
E-->>E: Return aggregated errors
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (4)
🧰 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 (8)📓 Common learnings📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-08-12T18:13:54.630ZApplied to files:
📚 Learning: 2025-10-24T00:02:29.723ZApplied to files:
🧬 Code graph analysis (3)apps/workspace-engine/pkg/workspace/store/release_targets.go (2)
apps/workspace-engine/test/e2e/engine_policy_environment_progression_test.go (4)
apps/workspace-engine/pkg/workspace/releasemanager/policy/evaluator/environmentprogression/environment_progression_action.go (4)
⏰ 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 (7)
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
✏️ Tip: You can customize this high-level summary in your review settings.