-
Notifications
You must be signed in to change notification settings - Fork 6
Release strategy
Vinzenz Rosenkranz edited this page Feb 24, 2020
·
4 revisions
The implemented release strategy fits a GitHub centered workflow. It’s cornerstones are:
- Releases should be in any case provide a stable version with no obvious bugs.
- Bugfix-Releases are addressing issues only, whereas new features are introduced within a proper Release.
- Concerning the numbering schema of releases and bugfix-releases:
- vz.x is a feature-release
- vz.2.y is a bugfix-release within the second feature-release
- After each new release (both feature and bugfix) a new branch for the next bugfix-release is created (vz.x => vz.x.1 or vz.x.y => vz.x.(y+1)) which operates as base branch for any further changes in this release. All dependency updates are done in this branch to ensure all dependencies are up-to-date before a new release.
- Supported projects are always on a release using
git fetch && git checkout tags/v0.x.y-...
Depending on the type of your PR, you have to choose a different base branch.
- For a new feature, you should always use the
master
branch as base branch. Only features which depend on another (currently developed) feature should use the other feature branch as base. - For a bugfix, you should use the latest bugfix-release tag as base branch. Since we only support the latest minor release (x) of the latest major (z) release, you should use the tag with the highest z, x and y.
After your changes you have to actually create a PR. If approved by one of the admins (@eScienceCenter/spacialists), it is merged into
master
. But there is one exception for bugfix PRs. Before they are merged/rebased/whatever, a new release with a new tag (z.x.y+1) from to the top of this PR is created. Afterwards, the PR can be merged into master.
- To help others to understand what you've fixed and to make it easier to include a changelog in the release, please update
CHANGELOG.md
with your changes. - To ensure the team is notified by your PR, @mention the spacialist team (@eScienceCenter/spacialists). If there is a specific member of the team, who should have a look at your PR, you can directly @mention them.
The actual development cycle is mostly relying on the branching and releasing strategy described here: https://hackernoon.com/a-branching-and-releasing-strategy-that-fits-github-flow-be1b6c48eca2