Add logic to define and parse METplus inter-component version dependencies #2562
Labels
alert: NEED ACCOUNT KEY
Need to assign an account key to this issue
alert: NEED MORE DEFINITION
Not yet actionable, additional definition required
component: repository maintenance
Repository maintenance issue
priority: medium
Medium Priority
requestor: METplus Team
METplus Development Team
type: new feature
Make it do something new
Milestone
Describe the New Feature
This topic was discussed during the METplus All Hands meeting on April 24, 2024 and documented in this section of the METplus Engineering meeting notes. Each METplus coordinated release consists of a collection of METplus component releases. The integration testing performed in METplus (for all METplus components) and METviewer (for METplus-Analysis components) needs to know which component versions correspond with each other.
Currently, METplus uses numerical offsets to compute corresponding component version numbers. METplus version X.Y corresponds to:
While this logic does work, it does NOT work for METexpress which releases on a different cycle. And these relationships may break in the future depending on future funding levels. Note also, that this logic is not currently well-implemented for handling METviewer dependencies.
The METplus team decided that it would prefer to move from a numerical offset solution to a table lookup. Recommend adding a Python file to the METplus repo to define a table for all prior METplus coordinated releases along with utility functions to parse that table. Also consider how these version dependencies relate to the manage-externals and avoid duplication of logic as much as possible.
The goal throughout is avoiding hard-coding METplus component version dependencies and instead define that logic in a single spot.
Acceptance Testing
List input data types and sources.
Describe tests required for new functionality.
Time Estimate
3 days?
Sub-Issues
Consider breaking the new feature down into sub-issues.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Development issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: