Git Tag Message Guidelines

Embedded Artistry projects use git annotated tags to indicate the status of versioned software builds. The following guidelines will improve auditability and traceability for software builds.

There are four distinct categories of tag messages that apply to versioned builds:

  1. In-process Tag
  2. Release Candidate Tag
  3. Approved Release Tag
  4. Special Purpose Tag

In-process Tag

The In-process Tag is generated by the Jenkins build server at the start of a clean versioned build. This tag is never to be pushed to the git server; instead, the tag is deleted at the end of the build process in all cases. Public tags matching the In-process Tag format indicate an error with the build process.

The In-process Tag message takes the following form:

git tag -a '${version}' -m 'Creating tag to build ${version}'

Release Candidate Tag

The Release Candidate Tag is used to mark passing clean versioned builds. This tag is pushed to the git server at the end of a successful build.

The Release Candidate Tag message takes the following form:

git tag -a '${version}' -m 'Successful CV build ${version}'

Approved Release Tag

The Approved Release Tag is used when a Release Candidate successfully passes acceptance testing for projects where such procceses are used. The corresponding version tag should be updated to indicate release approval.

The Approved Release Tag message should take the following form:

git tag -a '${version}' -m 'Customer Release ${version}'

Special Purpose Tag

A Special Purpose Tag is any tag which accomplishes a purpose not described above. Such tags must have an annotated tag message which is differentiated from the other forms. The Special Purpose Tag message should include the motivation for the tag and the expected tag lifetime.

Share Your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.