aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorJakub Kotur <qtr@google.com>2020-12-21 17:28:14 +0100
committerJakub Kotur <qtr@google.com>2021-03-05 15:05:06 +0100
commit704f579139cd14c990899a887026adce4b6fb0ac (patch)
tree8ab32923fe4a5e70e694e6147ea7f6783bc1b04b /CONTRIBUTING.md
parent71f53f93f889decb4b2faafb4eaea7b0e9c70722 (diff)
downloadcriterion-704f579139cd14c990899a887026adce4b6fb0ac.tar.gz
Initial import of criterion-0.3.3.
Bug: 155309706 Change-Id: I8d6ee6f1995361f33b3b63527d1236f13de1ab0c
Diffstat (limited to 'CONTRIBUTING.md')
-rwxr-xr-xCONTRIBUTING.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100755
index 0000000..3442998
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# Contributing to Criterion.<span></span>rs
+
+## Ideas, Experiences and Questions
+
+The easiest way to contribute to Criterion.<span></span>rs is to use it and report your experiences, ask questions and contribute ideas. We'd love to hear your thoughts on how to make Criterion.<span></span>rs better, or your comments on why you are or are not currently using it.
+
+Issues, ideas, requests and questions should be posted on the issue tracker at:
+
+https://github.com/bheisler/criterion.rs/issues
+
+## A Note on Dependency Updates
+
+Criterion.<span></span>rs does not accept pull requests to update dependencies unless specifically
+requested by the maintaner(s). Dependencies are updated manually by the maintainer(s) before each
+new release.
+
+## Code
+
+Pull requests are welcome, though please raise an issue for discussion first if none exists. We're happy to assist new contributors.
+
+If you're not sure what to work on, try checking the [Beginner label](https://github.com/bheisler/criterion.rs/issues?q=is%3Aissue+is%3Aopen+label%3ABeginner)
+
+To make changes to the code, fork the repo and clone it:
+
+`git clone git@github.com:your-username/criterion.rs.git`
+
+You'll probably want to install [gnuplot](http://www.gnuplot.info/) as well. See the gnuplot website for installation instructions.
+
+Then make your changes to the code. When you're done, run the tests:
+
+```
+cargo test --all
+cargo bench
+```
+
+It's a good idea to run clippy and fix any warnings as well:
+
+```
+rustup component add clippy-preview
+cargo clippy --all
+```
+
+Finally, run Rustfmt to maintain a common code style:
+
+```
+rustup component add rustfmt-preview
+cargo fmt --all
+```
+
+Don't forget to update the CHANGELOG.md file and any appropriate documentation. Once you're finished, push to your fork and submit a pull request. We try to respond to new issues and pull requests quickly, so if there hasn't been any response for more than a few days feel free to ping @bheisler.
+
+Some things that will increase the chance that your pull request is accepted:
+
+* Write tests
+* Clearly document public methods
+* Write a good commit message
+
+## Github Labels
+
+Criterion.<span></span>rs uses a simple set of labels to track issues. Most important are the
+difficulty labels:
+
+* Beginner - Suitable for people new to Criterion.rs, or even new to Rust in general
+* Intermediate - More challenging, likely involves some non-trivial design decisions and/or knowledge
+ of Criterion.<span></span>rs' internals
+* Bigger Project - Large and/or complex project such as designing a complex new feature.
+
+Additionally, there are a few other noteworthy labels:
+
+* Breaking Change - Fixing this will have to wait until the next breaking-change release
+* Bug - Something isn't working right
+* Enhancement - Request to add a new feature or otherwise improve Criterion.<span></span>rs in some way
+
+## Code of Conduct
+
+We follow the [Rust Code of Conduct](http://www.rust-lang.org/conduct.html).