-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: update README, RELEASE and quickstart
Signed-off-by: Abhinandan Purkait <[email protected]>
- Loading branch information
1 parent
79b2923
commit 959f9d2
Showing
5 changed files
with
181 additions
and
130 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,37 @@ | ||
# Release Process | ||
zfs-localpv follows a on quaterly release cadence for minor version releases. The scope of the release is determined by contributor availability. The scope is published in the [Release Tracker Projects](https://github.com/orgs/openebs/projects/78). | ||
LocalPV ZFS follows or tries to follow semantic versioning principles as specified here https://semver.org. It follows a on quarterly release cadence for minor version releases. The scope of the release is determined by contributor availability. The scope is published in the [Release Tracker Projects](https://github.com/orgs/openebs/projects/78). | ||
|
||
## Pre-release Candidate Verification Checklist | ||
|
||
Every release has a prerelease tag that gets created on branch creation, explained further below. This prerelease tag is meant for all the below action items throughout the release process: | ||
Every release has a pre-release tag that gets created on branch creation, explained further below. This pre-release tag is meant for all the below action items throughout the release process: | ||
- Platform Verification | ||
- Regression and Feature Verification Automated tests. | ||
- Exploratory testing by QA engineers. | ||
- Strict security scanners on the container images. | ||
- Upgrade from previous releases. | ||
- Beta testing by users on issues that they are interested in. | ||
- Regression and Feature Verification Automated tests | ||
- Exploratory testing by QA engineers | ||
- Strict security scanners on the container images | ||
- Upgrade from previous releases | ||
- Beta testing by users on issues that they are interested in | ||
|
||
If any issues are found during the above stages, they are fixed and the prerelease tag is overidden by the newer changes and are up for above action items again. | ||
If any issues are found during the above stages, they are fixed and the prerelease tag is overridden by the newer changes and are up for above action items again. | ||
|
||
Once all the above tests are completed, a main release is created. | ||
|
||
## Release Tagging | ||
|
||
zfs-localpv is released with container images and a respective helm chart as the only recommended way of installation. Even though the [zfs-operator](./deploy/zfs-operator.yaml) is also published, it is generated by templating the helm chart itself. | ||
LocalPV ZFS is released with container images and a respective helm chart as the only recommended way of installation. Even though the [zfs-operator](./deploy/zfs-operator.yaml) is also published, it is generated by templating the helm chart itself. | ||
|
||
Before creating a release, the repo owner needs to create a separate branch from the active branch, which is `develop`. Name of the branch should follow the naming convention of `release/2.7` if release is for `2.7.x`. | ||
|
||
Upon creation of a release branch ex. `release/2.7`, two automated PRs open up to change the chart versions of the charts in `release/2.7` branch to `2.7.0-prerelease` and `develop` to `2.8.0-develop`. Post merge of these two PRs, the `2.7.0-prerelease` and `2.8.0-develop` tags are pushed to respective docker registries and also the respective helm charts against these tags are published. The prerelease versions increment via automated PRs on every release creation. For example once `2.7.0` is published a `2.7.1-prerelease` image and chart would be published to allow testing of further patch releases and so on. | ||
|
||
The format of the release tag follows semver versioning. The final release tag is of format `X.Y.Z` and the respective prerelease and develop tags are `X.Y.Z-prerelease` and `X.Y+1.0-develop`. | ||
|
||
Once the release is triggered, the freezed code undergoes stages as such linting, unit-tests and bdd-tests and the code coverage is updated accordingly. Post the former jobs, the image build is triggered with the specified tag, the chart is run though scripts that update the tags at places whereever deemed necessary and eventually publish the images and respective helm charts. | ||
Once the release is triggered, the unchanged code undergoes stages as such linting, unit-tests and bdd-tests and the code coverage is updated accordingly. Post the former jobs, the image build is triggered with the specified tag, the images are published and the chart is run though scripts that update the image tags at the relevant places and eventually helm charts are published. | ||
|
||
The helm charts are hosted on github deployments for the corresponding releases. | ||
|
||
Images and Helm charts are published at following location : | ||
|
||
https://hub.docker.com/r/openebs/zfs-driver/tags | ||
https://github.com/openebs/zfs-localpv/tree/gh-pages | ||
The tagged images are published at: https://hub.docker.com/r/openebs/zfs-driver/tags | ||
The release Helm charts are published at: https://github.com/openebs/LocalPV ZFS/tree/gh-pages | ||
|
||
Once a release is created:- | ||
1. The repo owner updates the release page changelog with all the necessary content. | ||
1. The repo owner updates the release page changelog with the necessary contents. | ||
2. The repo owner updates the [CHANGELOG.md](./CHANGELOG.md) file with the changelog for the release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.