Skip to content

Tag naming conventions

Bill Sacks edited this page Mar 15, 2019 · 28 revisions

Tag naming conventions

Conventions in this document

Words in CAPS are placeholders for names.

Capital X, Y and Z stand in for version numbers. XX denotes a two-digit number, YYY a three-digit number, etc.

Development tags

Development tags will be named like ctsmX.Y.devZZZ

where:

  • X is the major version number, corresponding to a major release
  • Y is incremented when there are big changes (e.g., introducing FATES)
  • ZZZ is incremented for each tag

Example: ctsm1.0.dev020

We do not add release notes via the GitHub interface for development tags.

Release tags

Release branches will be named like release-NAMEX.Y

where:

  • NAME is the name of the model for which the release is being made (typically CTSM or CLM; can be something like CESM for a release of CTSM that is just being made for the sake of a CESM version)
  • X.Y is the major and minor version of that model (note that, for a release-cesmX.Y branch, X.Y will give the CESM version for which this release branch applies)

Tags will then be named like release-NAMEX.Y.ZZ

where ZZ is incremented for each tag.

Example: release-clm5.0.15

All tags on the release branch should be labeled as a release on GitHub, with appropriate release notes.

Branch tags

Branch tags can be pushed to the ESCOMP/ctsm repo in limited circumstances - e.g., when a given code version is needed for a major set of production runs.

Branch tags will be named like NAME.nXX_BASELINETAG

where:

  • NAME is the name of the branch, or some designator of the purpose of this tag
  • XX is the tag version number along this branch; this should just be incremented when a new tag is truly necessary (e.g., not for every commit along this branch)
  • BASELINETAG is the baseline tag on a release branch or master that this tag is up-to-date with. For example, this could be release-clm5.0.15 or ctsm1.0.dev020.

Example: ismip6.n01_release-clm5.0.15

Clone this wiki locally