Features and bugfixes are managed through Github's Issues and Pull Requests. Contributions are welcome and once approved, they are merged into master.
- Install gems:
bundle install
- Run Ruby tests:
rake
- Run Go tests (test code generation):
cd protoc-gen-twirp_ruby
thengo test ./...
- Run example code (see example/README.md).
Once enough new features are added, a new release is drafted.
- Merge approved PRs into master.
- Update VERSION with semantic versioning in:
lib/twirp/version.rb
andprotoc-gen-twirp_ruby/version.go
- Run
bundle install
to update theGemfile.lock
file with the new version. - Run
rake
to run tests. - Re-generate code (see example/README.md). Make sure to use the latest version of
protoc-gen-twirp_ruby
; if the repo is in$GOPATH/src/github.com/twitchtv/twirp-ruby
, then you only need to dogo install github.com/twitchtv/twirp-ruby/protoc-gen-twirp_ruby
before running theprotoc
command to generate code. The generated code should be annotated with the new version. - Update example code and README if needed with new features.
- Commit changes for the new version in master and push to remote.
- Draft a new release in Github. Create a new tag with the version. Add release notes (see previous releases to keep the same format).
- Build the gem:
gem build twirp.gemspec
and then push the new .gem file to Ruby Gems:gem push twirp-X.X.X.gem
. You can delete the .gem file after that.