twirp-ruby/CONTRIBUTING.md

30 строки
1.6 KiB
Markdown

# 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](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](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](https://github.com/arthurnn/twirp-ruby/releases) 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.