-
Notifications
You must be signed in to change notification settings - Fork 14
How to Release
This repository comprises the following different components, each of which will be maintained and released separately. The components are
- Pravega Operator
- Pravega
- Bookkeeper Operator
- Bookkeeper
- Zookeeper Operator
- Zookeeper
This document contains all steps that need to be followed if you are willing to release a new version of the charts for any of the above components.
Assuming for the sake of the example that you want to release the charts for the bookkeeper-operator where the version of the charts is 0.2.0. In order to do that, the following steps would need to be followed
The value for the field appVersion within the Chart.yaml file reflects the correct version of the image that this chart would help install. If the changes being published include a change in the appVersion field, the MAJOR version should be incremented and PATCH version should be reset for the version field within the Chart.yaml file.
The following points need to be kept in mind while versioning the charts
- The chart version should follow semantic versioning
- Any breaking (backwards incompatible) changes to a chart should bump up the MAJOR version
- A change to the appVersion should bump up the MINOR version
- Any bug fixes to the charts for a given appVersion should bump up the PATCH version
Also ensure that the fields are correctly updated in the chart README.
On the GitHub repository page, go to releases and create a new draft. On the draft:
- Create a new tag corresponding to the release
Fill out the tag field and name it in accordance to the component being released and the version of the chart, for eg. in our case, the tag would be named asbookkeeper-operator-0.2.0
- Do not check the pre-release box
Create a release notes text file containing the following
- Some introductory text, highlighting the important changes going in the release.
- A full list of commits that you can get with the following command. Add the list to the release notes file and attach it the notes box in the release draft.
git log <commit-id-of-last-release>..<current-commit-id>
Once this is all done, publish the release by clicking on the Publish release
button on the draft page.
Clone this repository, checkout to master branch and then run the following command to create the packaged charts in a temporary placeholder. For the sake of the demonstration, let us assume that this placeholder is the folder ~/tmp/
which would have been created beforehand
helm package charts/bookkeeper-operator --destination ~/tmp/
This would create the file
bookkeeper-operator-0.2.0.tgz
This includes pushing the packaged charts to the gh-pages branch, which can be done by executing the following commands
git checkout gh-pages
cp ~/tmp/bookkeeper-operator-0.2.0.tgz .
helm repo index .
git add .
git commit -s -m "Publishing bookkeeper-operator-0.2.0 charts"
git push origin gh-pages
Create a pull request to bump up the version field within the Chart.yaml file of the bookkeeper-operator by incrementing the PATCH version. Merge this change to the master.