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 main.
- 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/arthurnn/twirp-ruby
, then you only need to dogo install github.com/arthurnn/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 main 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 and push the gem:
rake release
. - Update the Draft release with the created tag, and publish it.