Skip to content

Allow namespaced specs - #1709

Open
dapomeroy wants to merge 2 commits into
GoogleCloudPlatform:developfrom
dapomeroy:report_format_lines
Open

Allow namespaced specs#1709
dapomeroy wants to merge 2 commits into
GoogleCloudPlatform:developfrom
dapomeroy:report_format_lines

Conversation

@dapomeroy

Copy link
Copy Markdown
Collaborator

Allows namespaced specs (e.g., builtin.app.wrf) to be used in place of object names and arguments indicating repo and type.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread lib/ramble/ramble/cmd/workspace.py Outdated
Allows namespaced specs (e.g., builtin.app.wrf) to be used in place of
object names and arguments indicating repo and type.
@dapomeroy
dapomeroy force-pushed the report_format_lines branch from 020add4 to ce28ed5 Compare August 7, 2026 21:51
@ramble-pr-bot

ramble-pr-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown

Ramble Performance Test Metrics

Results produced with commit: 118e470

Test Name Outcome Duration (s) Most Recent Run (s) Last 5 Avg (s)
test_analyze_large_file passed 2.0730 2.1302 (a5fe858) 2.0852
test_large_template_expansion passed 1.3826 1.3447 (a5fe858) 1.3710
test_many_experiments passed 23.8466 23.9590 (a5fe858) 24.5211
test_many_objects_defaults passed 13.6817 14.2366 (a5fe858) 14.6108
test_matrix_filter_perf passed 0.8847 0.8616 (a5fe858) 0.8881

@codecov

codecov Bot commented Aug 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.41897% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.48%. Comparing base (01977b4) to head (118e470).
⚠️ Report is 4 commits behind head on develop.

Files with missing lines Patch % Lines
lib/ramble/ramble/test/workspace.py 95.74% 2 Missing ⚠️
lib/ramble/ramble/cmd/create.py 95.00% 1 Missing ⚠️
lib/ramble/ramble/spec.py 97.91% 1 Missing ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dapomeroy

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread lib/ramble/ramble/spec.py
Comment thread lib/ramble/ramble/spec.py Outdated
Comment thread lib/ramble/ramble/cmd/create.py Outdated
@dapomeroy
dapomeroy force-pushed the report_format_lines branch from 2c0edde to 118e470 Compare August 8, 2026 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant