Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 2.81 KB

CONTRIBUTING.md

File metadata and controls

65 lines (45 loc) · 2.81 KB

Contributing

Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.

Contributions to this project are released to the public under the project's open source license.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Prerequisites for running and testing code

We recommend that you install Rust with the rustup tool. twirp-rs targets stable Rust versions.

Submitting a pull request

  1. Fork and clone the repository.
  2. Install protoc with your package manager of choice.
  3. Build the software: cargo build.
  4. Create a new branch: git checkout -b my-branch-name.
  5. Make your change, add tests, and make sure the tests and linter still pass.
  6. Push to your fork and submit a pull request.
  7. Pat yourself on the back and wait for your pull request to be reviewed and merged.

Here are a few things you can do that will increase the likelihood of your pull request being accepted:

  • Write tests.
  • Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
  • Write a good commit message.

Setting up a local build

Make sure you have rust toolchain installed on your system and then:

cargo build && cargo test

Run clippy and fix any lints:

cargo fmt --all -- --check
cargo clippy -- --deny warnings -D clippy::unwrap_used
cargo clippy --tests -- --deny warnings -A clippy::unwrap_used

Releasing (write access required)

If you are one of the maintainers of this package then follow this process:

  1. Create a PR for this release with following changes:
  • Updated CHANGELOG.md with desired change comments and ensure that it has the version to be released with date at the top.
  • Go through all recent PRs and make sure they are properly accounted for.
  • Make sure all changelog entries have links back to their PR(s) if appropriate.
  • Update package version in Cargo.toml.
  1. Get an approval and merge your PR.
  2. Run ./script/publish from the main branch supplying your token and version information.

Resources