fix(sdl): keep legacy builder placements independent per service - #3292
Conversation
The legacy SDL builder edits a placement per service, but adding a service reused the first placement and importing deduped placements by name, so all services ended up sharing one placement record and renaming one renamed all. Give each added service its own placement and drop its placement on removal when nothing else references it. Add a placementPerService option to importSimpleSdl (off by default, preserving the shared placement-first import) that the legacy builder entry points opt into, so a service keeps its own placement across YAML round-trips. SDL output is unchanged since generation still groups placements by name.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThis PR refactors SDL import and service management to support one placement per service. The core utility adds a ChangesPlacement-per-service SDL import and service lifecycle
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3292 +/- ##
==========================================
- Coverage 68.30% 66.93% -1.38%
==========================================
Files 1081 993 -88
Lines 26443 24251 -2192
Branches 6351 5917 -434
==========================================
- Hits 18063 16233 -1830
+ Misses 7338 7007 -331
+ Partials 1042 1011 -31
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
Why
The legacy SDL builder edits a placement per service, but adding a service reused the first placement and importing deduped placements by name. As a result all services ended up sharing one placement record — renaming one renamed them all.
What
placementPerServiceoption toimportSimpleSdl(off by default, preserving the shared placement-first import) that the legacy builder entry points opt into, so a service keeps its own placement across YAML round-trips.Summary by CodeRabbit
Release Notes
Refactor
Tests