twirp-ruby/CONTRIBUTING.md

1.6 KiB

Contribute to Twirp-Ruby

Issues and Pull Requests

Features and bugfixes are managed through Github's Issues and Pull Requests. Contributions are welcome and once approved, they are merged into master.

Run tests and example code

  • Install gems: bundle install
  • Run Ruby tests: rake
  • Run Go tests (test code generation): cd protoc-gen-twirp_ruby then go test ./...
  • Run example code (see example/README.md).

Make a new release (authors only)

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 and
    • protoc-gen-twirp_ruby/version.go
  • Run bundle install to update the Gemfile.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 do go install github.com/arthurnn/twirp-ruby/protoc-gen-twirp_ruby before running the protoc 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.