Allow namespaced specs - #1709
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for fully-qualified namespaced specs (e.g., <namespace>.<type_abbrev>.<object_name>@<version>) across various Ramble commands, including info, create, and edit, as well as within workspace configurations. The Spec class is updated to parse these namespaced strings, and corresponding tests and documentation are added. Feedback on the changes suggests that in workspace.py, experiment_index_map should also index namespaced names without the type abbreviation (e.g., builtin.mock.basic) to ensure ramble workspace info can resolve all formats defined in ramble.yaml.
Allows namespaced specs (e.g., builtin.app.wrf) to be used in place of object names and arguments indicating repo and type.
020add4 to
ce28ed5
Compare
Ramble Performance Test MetricsResults produced with commit: 118e470
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #1709 +/- ##
===========================================
+ Coverage 93.39% 93.48% +0.08%
===========================================
Files 366 366
Lines 35712 35921 +209
===========================================
+ Hits 33354 33580 +226
+ Misses 2358 2341 -17 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for fully-qualified namespaced specs (e.g., <namespace>.<type_abbrev>.<object_name>@<version>) across Ramble, enabling explicit object referencing in CLI commands (info, edit, create) and workspace configurations. The changes include enhanced spec parsing logic, command updates, and comprehensive unit tests. The review feedback highlights opportunities to prevent circular imports by using local imports in spec.py, add safety guards in fullname for empty names, and simplify redundant type-mapping logic in the create command.
2c0edde to
118e470
Compare
Allows namespaced specs (e.g., builtin.app.wrf) to be used in place of object names and arguments indicating repo and type.