Versioning and Tagging of CHORDS releases - earthcubeprojects-chords/chords GitHub Wiki
This document is meant to serve as an overview of the tagging procedure and process we will follow during the course of the CHORDS 2016 development.
Github release tagging, branch naming, and Docker image tagging will follow a defined protocol.
Example | Docker Tag | Git Release (annotated tag) |
Git Branch | Use |
---|---|---|---|---|
:latest | :latest | X.Y.Z | master | The current head of the git master branch. Every merge to master will have an annotated git tag. |
:0.9.4 | :X.Y.Z | X.Y.Z | master | Historic releases will be available as tagged Docker images. |
:development | :development | none | development | A docker image created for development testing. |
:pg_test | :custom | none | any | Any custom image that a developer wants distribute for testing. |
- The latest Docker image will be a copy of the most current git release of the master branch, and is the recommended stable distribution.
- The development images are for development testing and will be pushed to Dockerhub on an ad-hoc basis.
- The custom images are for special situations and developer testing.
-
master
- This is the main release branch, and will be tied to the docker image with the “latest” label
- All release versions will be on this branch, and will be designated with annotated tags (E.g. this is what live CHORDS portals will ALWAYS be running)
-
development
- The main development branch into which each working branch will be merged when the related issue is complete
-
working branches
- These branches are where ALL the actual work should be done. The CHORDS project follows a naming convention for branches. (Please read)
There will be three tiers of versioning following the format
MAJOR_VERSION.minor_version.patch_number (E.g: 1.0.1)
-
Major Version
- These represent significant milestones, and do not occur frequently.
-
Minor Versions
- Minor versions will be shipped after each sprint cycle. They represent incremental change when a smaller piece of functionality is ready to be deployed.
-
Patch Number
- Patches would include urgent bug fixes and security patches. With any luck patches and bug fixes will be infrequent.
-
Latest
- The most recent version for the master branch on github
-
Development
- The most recent version for the development branch on github