39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# 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
|
|
(You can do `rustup run nightly cargo make ci-flow` to run all tests when developing on stable)
|
|
|
|
### 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.
|