|
| 1 | +# Contributing to dir-diff |
| 2 | + |
| 3 | +Thanks for wanting to contribute! There are many ways to contribute and we |
| 4 | +appreciate any level you're willing to do. |
| 5 | + |
| 6 | +## Feature Requests |
| 7 | + |
| 8 | +Need some new functionality to help? You can let us know by opening an |
| 9 | +[issue][new issue]. It's helpful to look through [all issues][all issues] in |
| 10 | +case its already being talked about. |
| 11 | + |
| 12 | +## Bug Reports |
| 13 | + |
| 14 | +Please let us know about what problems you run into, whether in behavior or |
| 15 | +ergonomics of API. You can do this by opening an [issue][new issue]. It's |
| 16 | +helpful to look through [all issues][all issues] in case its already being |
| 17 | +talked about. |
| 18 | + |
| 19 | +## Pull Requests |
| 20 | + |
| 21 | +Looking for an idea? Check our [issues][issues]. If it's look more open ended, |
| 22 | +it is probably best to post on the issue how you are thinking of resolving the |
| 23 | +issue so you can get feedback early in the process. We want you to be |
| 24 | +successful and it can be discouraging to find out a lot of re-work is needed. |
| 25 | + |
| 26 | +Already have an idea? It might be good to first [create an issue][new issue] |
| 27 | +to propose it so we can make sure we are aligned and lower the risk of having |
| 28 | +to re-work some of it and the discouragement that goes along with that. |
| 29 | + |
| 30 | +### Process |
| 31 | + |
| 32 | +When you first post a PR, we request that the the commit history get cleaned |
| 33 | +up. We recommend avoiding this during the PR to make it easier to review how |
| 34 | +feedback was handled. Once the commit is ready, we'll ask you to clean up the |
| 35 | +commit history. Once you let us know this is done, we can move forward with |
| 36 | +merging! If you are uncomfortable with these parts of git, let us know and we |
| 37 | +can help. |
| 38 | + |
| 39 | +We ask that all new files have the copyright header. Please update the |
| 40 | +copyright year for files you are modifying. |
| 41 | + |
| 42 | +As a heads up, we'll be running your PR through the following gauntlet: |
| 43 | +- warnings turned to compile errors |
| 44 | +- `cargo test` |
| 45 | +- `rustfmt` |
| 46 | +- `clippy` |
| 47 | +- `rustdoc` |
| 48 | + |
| 49 | +Check out our [CI][travis] for more information. |
| 50 | + |
| 51 | +## Releasing |
| 52 | + |
| 53 | +When we're ready to release, a project owner should do the following |
| 54 | +- Determine what the next version is, according to semver |
| 55 | +- Bump version in a commit |
| 56 | + - Update CHANGELOG.md |
| 57 | + - Update the version in `Cargo.toml` |
| 58 | + - Update the dependency version in `src/lib.rs` |
| 59 | + - Update the dependency version in `README.md` |
| 60 | +- Tag the commit via `git tag -am "v<X>.<Y>.<Z>" v<X>.<Y>.<Z>` |
| 61 | +- `git push upstream master --tag v<X>.<Y>.<Z>` |
| 62 | +- Run `cargo publish` (run `cargo login` first if needed) |
| 63 | + |
| 64 | +[issues]: https://github.com/assert-rs/dir-diff/issues |
| 65 | +[new issue]: https://github.com/assert-rs/dir-diff/issues/new |
| 66 | +[all issues]: https://github.com/assert-rs/dir-diff/issues?utf8=%E2%9C%93&q=is%3Aissue |
| 67 | +[travis]: https://github.com/assert-rs/dir-diff/blob/master/.travis.yml |
0 commit comments