- 
                Notifications
    
You must be signed in to change notification settings  - Fork 25
 
RCAL-977 - Version datamodels #445
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
          Codecov ReportAttention: Patch coverage is  
 
 Additional details and impacted files@@            Coverage Diff             @@
##             main     #445      +/-   ##
==========================================
- Coverage   97.56%   97.22%   -0.34%     
==========================================
  Files          30       37       +7     
  Lines        2788     3285     +497     
==========================================
+ Hits         2720     3194     +474     
- Misses         68       91      +23     ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
  | 
    
| 
           Is this something you'd want to present on a Thursday tag up?  | 
    
          
 Good idea! Let's do it.  | 
    
e187307    to
    d3d5bbf      
    Compare
  
    | 
           regtests are green again today; would you mind rerunning that this doesn't change anything and I'll merge? Thanks!  | 
    
          
 Thanks! I reran them (same link as before): I will update this PR to point to rad main (which will temporarily break this PR until the RAD PR is merged).  | 
    
Resolves RCAL-977
This PR (with the corresponding RAD changes: spacetelescope/rad#528) adds support for versioning DataModels. The approach is similar to #305 where with this PR the link between a specific tag and Node class and removed. Instead Node classes have a tag "pattern" (wildcard) which can match one of multiple tag versions. New Node instances use the latest tag version except for when they are read from an ASDF file (where the version read from the file is used).
Regression tests all pass: https://github.com/spacetelescope/RegressionTests/actions/runs/12611441068
Once this PR (and spacetelescope/rad#528) are merged changes to schema can now be made in a way that retains opening existing files. To provide an example (and a toy change for reviewers to test):
braingram/rad#1
braingram#1
add a new entry to
cal_stepnamedtwo_step. Installing these branches allows creating and writing files with the newcal_step-2.0.0node but retains reading (and rewriting) ofcal_step-1.0.0nodes.Tasks
roman_datamodelstests.docs/page.no-changelog-entry-needed.)changes/:echo "changed something" > changes/<PR#>.<changetype>.rst(see below for change types).romancalregression test (https://github.com/spacetelescope/RegressionTests/actions/workflows/romancal.yml) with this branch installed ("git+https://github.com/<fork>/rad@<branch>").News fragment change types:
changes/<PR#>.feature.rst: new featurechanges/<PR#>.bugfix.rst: fixes an issuechanges/<PR#>.doc.rst: documentation changechanges/<PR#>.removal.rst: deprecation or removal of public APIchanges/<PR#>.misc.rst: infrastructure or miscellaneous change