Semantic versioning of MOM6 and MOM_interface #210
Replies: 4 comments 1 reply
-
I like the idea of using semantic versioning, but am unfamiliar with strategies for versioning two packages that interact with each other. Would we just guarantee that as long as the major version number of the tag for both packages match, you could use those two tags together? E.g. dev/ncar_2.3.45 and main_2.4.56 could be used together but dev/ncar_2.3.45 and main_3.0.0 might not be compatible? |
Beta Was this translation helpful? Give feedback.
-
Maybe not a broad guarantee of "you can use those two tags together", but a guarantee of MOM6 and MOM_interface APIs being compatible. In other words, one should be able to compile and run
Yes, indeed |
Beta Was this translation helpful? Give feedback.
-
Would versioning of mom-ocean/MOM6 be useful here? Or is that separate from the tagging of NCAR/MOM6? Should we raise this at a future MOM meeting? |
Beta Was this translation helpful? Give feedback.
-
@marshallward, I'd be happy to participate in a future discussion of versioning mom-ocean/MOM6, but I guess this is separate from that. I was thinking more along the lines of establishing a synchronized versioning of our MOM6 dev/ncar branch and NCAR's superstructure repository called MOM_interface. We have a hierarchy of CESM tag specification: |
Beta Was this translation helpful? Give feedback.
-
Currently, we don't have a convenient way of determining whether specific tags of MOM6 and MOM_interface are compatible. The most frequent cause of incompatibility between these two is changing file trees when we add new MOM6 modules. So I propose we adopt a synchronous tagging convention for both MOM6 and MOM_interface that is based on semantic versioning such that having the same major version number for both MOM6 and MOM_interface guarantees compatible APIs.
Semantic versioning is described here: https://semver.org/
Example tags of our current date-based convention:
Possible examples of proposed semantic versioning:
I am also debating abandoning the ChangeLog that we keep in MOM_interface.
Thoughts? @gustavo-marques @mnlevy1981 @klindsay28
Beta Was this translation helpful? Give feedback.
All reactions