-
Notifications
You must be signed in to change notification settings - Fork 11
Releasing
This pages describes the release strategy for this repository. The creation of release is automated and described the repository _docs/release.md.
Semantic versioning is used.
- Major: Backward incompatible changes.
- Minor: Backward compatible additions or changes.
- Patch: Backward compatible fixes.
Tag:
v<Major>.<Minor>.<Patch>
Branch:
releases/<tag>
Release are created using two mechanisms of git:
- Release branch
- Tags
Releases branches are used because some CI/CD systems do not support tags as an input repository configuration.
Tags are used because this is the general way of releasing fixed repository states.
The release notes are put in a template as part of the repository to ease the use: _docs/changelogs/CHANGELOG.template.md.
A general template shall be used:
- Overview
- Summary of the release
- Included Versions of terraform, nomad, consul, fabio
- Release Branch
- Conclusion
- DISCLAIMER
Each release shall contain release notes lining out the nature of this release, for example motivating and description of outstanding changes. It should become clear what to expect from this release.
Furthermore a reference to the release branch has to be added.
In general release are created via the build in Github functionality. Furthermore,
- Create the release and the tag using the Github build-in functionality via "Draft a new release".
- Chose appropriate version as mentioned in the previous section of this page.
- Fill out release notes as mentioned in the previous section of this page.
- Create the release branch.
- Update the release page with the release branch reference.