diff options
Diffstat (limited to 'vendor/gems/kubeclient/RELEASING.md')
-rw-r--r-- | vendor/gems/kubeclient/RELEASING.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/vendor/gems/kubeclient/RELEASING.md b/vendor/gems/kubeclient/RELEASING.md new file mode 100644 index 00000000000..c8a9a121eda --- /dev/null +++ b/vendor/gems/kubeclient/RELEASING.md @@ -0,0 +1,69 @@ +# Releasing Kubeclient + +## Versioning +Kubeclient release versioning follows [SemVer](https://semver.org/). +At some point in time it is decided to release version x.y.z. + +```bash +RELEASE_BRANCH="master" +``` + +## 0. (once) Install gem-release, needed for several commands here: + +```bash +gem install gem-release +``` + +## 1. PR(s) for changelog & bump + +Edit `CHANGELOG.md` as necessary. Even if all included changes remembered to update it, you should replace "Unreleased" section header with appropriate "x.y.z — 20yy-mm-dd" header. + +Bump `lib/kubeclient/version.rb` manually, or by using: +```bash +RELEASE_VERSION=x.y.z + +git checkout -b "release-$RELEASE_VERSION" $RELEASE_BRANCH +# Won't work with uncommitted changes, you have to commit the changelog first. +gem bump --version $RELEASE_VERSION +git show # View version bump change. +``` + +Open a PR with target branch $RELEASE_BRANCH and get it reviewed & merged (if open for long, remember to update date in CHANGELOG to actual day of release). + +## 2. (once) Grabbing an authentication token for rubygems.org api +```bash +RUBYGEMS_USERNAME=bob +curl -u $RUBYGEMS_USERNAME https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials + +cat ~/.gem/credentials +# Should look like this: +:rubygems_api_key: **** +``` + +## 3. Actual release + +Make sure we're locally after the bump PR *merge commit*: +```bash +git checkout $RELEASE_BRANCH +git status # Make sure there are no local changes +git pull --ff-only https://github.com/abonas/kubeclient $RELEASE_BRANCH +git log -n1 +``` + +Last sanity check: +```bash +bundle install +bundle exec rake test rubocop +``` + +Create and push the tag: +```bash +gem tag --no-push +git push --tags --dry-run https://github.com/abonas/kubeclient # Check for unexpected tags +git push --tags https://github.com/abonas/kubeclient +``` + +Release onto rubygems.org: +```bash +gem release +``` |