-
Notifications
You must be signed in to change notification settings - Fork 75
Branches & Releases
This entry will give an overview of how this project handles releases.
We have a mainline branch called master
. We have the incentive to not break master
This project is the part of SUSE's Enterprise Storage Product and therefore tied to it's release cycles. The releases are reflected in the branch naming scheme. We have also have signed tags that mark releases within this versions.
SUSE Enterprise Storage version 4
lives in branch SES4
. For this version we used tags starting with v0.7.x
SUSE Enterprise Storage version 5
lives in branch SES5
. For this version we used tags starting with v0.8.x
SUSE Enterprise Storage version 6
lives in branch SES6
. For this version we used tags starting with v0.9.x
There are 'package' branches for each of the major DeepSea versions (SES5-package
, SES4-package
, SES6-package
).
When a package needs to be built, the branch will be updated with the desired commits and a tag will be applied at its tip. Following the 'package' branch approach make releases 'trackable' and helps to avoid history rewrites in case of a slide-in.
On the example of SES5
The SES5 branch and the SES-package branch get merged regularly. When a release is planned, you create a tag on the tip of the branch.
git tag -s -a v.x.x.x -m 'Release x.x.x'
If for a reason the tagged version has issues and needs an additional fix which is
- Not in
SES5
Look in the master branch if there is a fix. If this fix is viable consider backporting it. See the backporting wiki for guidance.
- Not in
master
Go, create it and follow the backporting wiki
After the fix landed in SES5
you can cherry-pick onto the SES5-package
branch.
git cherry-pick -s -x $sha (-S when you want to gpg-sign it)
You now have to move the tag one commit forward.
git tag -d v.x.x.x
git tag -s -a v.x.x.x -m 'Release x.x.x'
This creates a tag locally. If you want to push it to the repository, you can do that by:
git push v.x.x.x
if that tag already exists you have to force push it
git push +v.x.x.x
- Prerequisites
- Manual Installation
- Custom Profiles
- Alternate Installations
- Automated Installation
- Purging
- Reinstallation
- Replacing an OSD
- Inspecting the Configuration
- Understanding Pathnames and Arguments
- Overriding Default Settings
- Overriding Default Steps
- Man Pages
- deepsea.1
- deepsea.7
- deepsea-commands.7
- deepsea-minions.7
- deepsea-monitor.1
- deepsea-policy.cfg.5
- deepsea-stage.1
- deepsea-stage-dry-run.1
- deepsea-stage-run.1
- deepsea-stages.7
- Backporting
- Testing
- Branches & Releases