From 2aaf8dd729150c6ce00035a13034ad5804e2ce8e Mon Sep 17 00:00:00 2001 From: theduke Date: Thu, 16 May 2019 16:21:13 +0200 Subject: [PATCH] Add CONTRIBUTING.md guide (#356) --- CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..84c6d00c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,38 @@ +# Juniper Contribution Guide + +Juniper is always looking for new contributors, so don't be afraid to jump in and help! +The maintainers are happy to provide guidance if required. + +To get started, you can look for [issues with the "help wanted" label](https://github.com/graphql-rust/juniper/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22). + +## PR Checklist + +Before submitting a PR, you should follow these steps to prevent redundant churn or CI failures: + +[ ] Ensure proper formatting +[ ] Run all tests +[ ] Update the CHANGELOG + +### Ensure proper formatting + +Consistent formatting is enforced on the CI. + +Before you submit your PR, you should run `cargo fmt` in the root directory. + +Formatting should be run on the **stable** compiler. +(You can do `rustup run stable cargo fmt` when developing on nightly) + +### Run all tests + +To run all available tests, including verifying the code examples in the book, +you can use [cargo-make](https://github.com/sagiegurari/cargo-make). + +1. Install cargo-make with `cargo install cargo-make` +2. Run `cargo make ci-flow` in the root directory + +### Update the CHANGELOG + +Add your changes to the relevant changelog if they affect users in any way. +Each sub-crate has it's own CHANGELOG.md. + +Your changes should be added to a `[master]` section on top of the file.