etscrivner/rbsecp256k1

View on GitHub
documentation/releases/release-process.md

Summary

Maintainability
Test Coverage
Release Process
===============

### Verify Builds

* Update version in `lib/rbsecp256k1/version.rb`
* Building against libsecp256k1 without any modules works (`make clean && make test`)
* Building against libsecp256k1 with recovery module works (`make clean &&  make test WITH_RECOVERY=0`)

### Cutting A Release

First you'll need to checkout a new branch and add release notes:

```
git checkout -b release-${VERSION}
git add documentation/releases/release-notes/release-notes-${VERSION}.md
```

Once the above branch has been merged you'll need to cut a release tag:

```
git checkout appropriate branch for release series
git tag -s v${VERSION} HEAD
git push origin --tags
```

Finally, you'll need to add a new release for the given version to GitHub
containing the following a link to the release notes:

```
rbsecp256k1 version ${VERSION} is now available.

For release notes see:

https://github.com/etscrivner/rbsecp256k1/blob/master/documentation/releases/release-notes/release-notes-${VERSION}.md
```

### Pushing Gem

Once the release has been published to GitHub, you should push up a new
version of the gem.

```
make gem
gem push rbsecp256k1-${VERSION}.gem
```