Add release process and docs#5676
Conversation
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
Codecov Report
@@ Coverage Diff @@
## main #5676 +/- ##
=======================================
Coverage 40.92% 40.92%
=======================================
Files 239 239
Lines 20629 20629
=======================================
Hits 8442 8442
Misses 11570 11570
Partials 617 617 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
|
@weshayutin did you see the
Not sure if it's grammatically good enough ! :) |
Signed-off-by: OrlinVasilev <ovasilev@vmware.com>
| Velero releases will be versioned using dotted triples, similar to [Semantic Version](http://semver.org/). For this specific document, we will refer to the respective components of this triple as `<major>.<minor>.<patch>`. The version number may have additional information, such as "-rc1,-rc2,-rc3" to mark release candidate builds for earlier access. Such releases will be considered as "pre-releases". | ||
|
|
||
| ### Major and Minor Releases | ||
| Major and minor releases of Velero will be branched from `main` when the release reaches to `RC(release candidate)` state. The branch format should follow `release-<major>.<minor>.0`. For example, once the release `v1.0.0` reaches to RC, a branch will be created with the format `release-1.0.0`. When the release reaches to `GA(General Available)` state, The tag with format `v<major>.<minor>.<patch>` and should be made with command `git tag -s v<major>.<minor>.<patch>`. The release cadence is around 3 months, might be adjusted based on open source event, but will communicate it clearly. |
There was a problem hiding this comment.
It would be better to change the release cadence is around 4 months instead of 3 months if aiming for 3 release per year.
| ### Pre-releases | ||
| `Pre-releases:mainly the different RC builds` will be compiled from their corresponding branches. Please note they are done to assist in the stabilization process, no guarantees are provided. | ||
|
|
||
| ### Minor Release Support Matrix |
There was a problem hiding this comment.
There is an existing matrix tracking here. Better to combine them in a single place to maintain it easily.
| This document describes the versioning and release process of Velero. This document is a living document, contents will be updated according to each releases. | ||
|
|
||
| ## Releases | ||
| Velero releases will be versioned using dotted triples, similar to [Semantic Version](http://semver.org/). For this specific document, we will refer to the respective components of this triple as `<major>.<minor>.<patch>`. The version number may have additional information, such as "-rc1,-rc2,-rc3" to mark release candidate builds for earlier access. Such releases will be considered as "pre-releases". |
There was a problem hiding this comment.
Currently Velero use "-rc.1, -rc.2, rc.3" as additional information in the version number.
| Velero releases will be versioned using dotted triples, similar to [Semantic Version](http://semver.org/). For this specific document, we will refer to the respective components of this triple as `<major>.<minor>.<patch>`. The version number may have additional information, such as "-rc1,-rc2,-rc3" to mark release candidate builds for earlier access. Such releases will be considered as "pre-releases". | ||
|
|
||
| ### Major and Minor Releases | ||
| Major and minor releases of Velero will be branched from `main` when the release reaches to `RC(release candidate)` state. The branch format should follow `release-<major>.<minor>.0`. For example, once the release `v1.0.0` reaches to RC, a branch will be created with the format `release-1.0.0`. When the release reaches to `GA(General Available)` state, The tag with format `v<major>.<minor>.<patch>` and should be made with command `git tag -s v<major>.<minor>.<patch>`. The release cadence is around 3 months, might be adjusted based on open source event, but will communicate it clearly. |
There was a problem hiding this comment.
The current branch format is `release-1.0' since all the related patch release for that minor release will be in this branch.
| Major and minor releases of Velero will be branched from `main` when the release reaches to `RC(release candidate)` state. The branch format should follow `release-<major>.<minor>.0`. For example, once the release `v1.0.0` reaches to RC, a branch will be created with the format `release-1.0.0`. When the release reaches to `GA(General Available)` state, The tag with format `v<major>.<minor>.<patch>` and should be made with command `git tag -s v<major>.<minor>.<patch>`. The release cadence is around 3 months, might be adjusted based on open source event, but will communicate it clearly. | ||
|
|
||
| ### Patch releases | ||
| Patch releases are based on the major/minor release branch, the release cadence for patch release of recent minor release is one month to solve critical community and security issues. The cadence for patch release of recent minus two minor releases are on-demand driven based on the severity of the issue to be fixed. |
There was a problem hiding this comment.
I would change "minus" here. What about (I did not change the meaning of the phrase, right?)
Patch releases are based on the major/minor release branch. The release cadence for patch releases follows these rules:
- most recent minor release: one month to solve critical community and security issues.
- last two previous minor releases: are on-demand driven, based on the severity of the issue to be fixed.
| | Velero v1.8.x | :white_check_mark: | | ||
|
|
||
| ### Upgrade path and support policy | ||
| The upgrade path for Velero is (1) 2.2.x patch releases are always compatible with its major and minor version. For example, previous released 2.2.x can be upgraded to most recent 2.2.3 release. (2) Velero only supports two previous minor releases to upgrade to current minor release. For example, 2.3.0 will only support 2.1.0 and 2.2.0 to upgrade from, 2.0.0 to 2.3.0 is not supported. One should upgrade to 2.2.0 first, then to 2.3.0. |
There was a problem hiding this comment.
I would jump lines here to be easier to read. ex.:
The upgrade rule for Velero is
- Patch releases are always compatible with its major and minor version.
For example: previous released 2.2.0, 2.2.1 and 2.2.2 can be upgraded to most recent 2.2.3 release. - Only the two previous minor releases can be to upgraded to current minor release.
For example: 2.1.0 and 2.2.0 can be upgraded to 2.3.0, but 2.0.0 can not be upgraded to 2.3.0. One should upgrade to 2.2.0 first, then to 2.3.0.
| The activity for next release will be tracked in the [Velero Wiki roadmap](https://github.com/vmware-tanzu/velero/wiki). If your issue is not present in the corresponding release, please reach out to the maintainers to add the issue to the project board. | ||
|
|
||
| ### New Features | ||
| - All features(Issues and PRs) that are aimed to be completed into the upcoming release must be labeled as `X.YY-cadidate`, where X.YY is the upcoming version. |
There was a problem hiding this comment.
I would stick with the same variables. In the beginning of the file major, minor and patch were used
There was a problem hiding this comment.
I felt difficult to understand some sections. I would suggest to have examples like in the "Upgrade path and support policy" section, to help readers understand each section
We can work together in this PR @OrlinVasilev , I think would be good for me to start to understand the project
There was a problem hiding this comment.
Instead of markdown file in the project root, would not be better to add this directly to the website?
Signed-off-by: OrlinVasilev ovasilev@vmware.com
/kind changelog-not-requiredas a comment on this pull request.site/content/docs/main.