Skip to content

Latest commit

 

History

History
83 lines (60 loc) · 1.9 KB

RELEASE.md

File metadata and controls

83 lines (60 loc) · 1.9 KB

Release procedure

This document describes how to release a new version of TopoLVM.

Versioning

Follow semantic versioning 2.0.0 to choose the new version number.

Prepare change log entries

Add notable changes since the last release to CHANGELOG.md. It should look like:

(snip)
## [Unreleased]

### Added
- Implement ... (#35)

### Changed
- Fix a bug in ... (#33)

### Removed
- Deprecated `-option` is removed ... (#39)

(snip)

Bump version

  1. Determine a new version number. Export it as an environment variable:

    $ VERSION=1.2.3
    $ export VERSION
  2. Checkout master branch.

  3. Make a branch to release, for example by git neco dev bump-$VERSION

  4. Update version.go.

  5. Update image versions in documents.

    $ sed -r -i "s/:[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/:${VERSION}/g" \
        deploy/README.md deploy/manifests/*.yaml
  6. Edit CHANGELOG.md for the new version (example).

  7. Commit the change and create a pull request:

    $ git commit -a -m "Bump version to $VERSION"
    $ git neco review
  8. Merge the new pull request.

  9. Add a new tag and push it as follows:

    $ git checkout master
    $ git pull
    $ git tag v$VERSION
    $ git push origin v$VERSION

Publish GitHub release page

Once a new tag is pushed to GitHub, CircleCI automatically builds a tar archive for the new release, and uploads it to GitHub releases page.

Visit https://github.com/cybozu-go/topolvm/releases to check the result. You may manually edit the page to describe the release.