1.4 KiB
Contributing
Thanks for wanting to contribute!
If you want help or mentorship, please file a Github issue and I'll be sure to provide guidance to the best of my ability.
Otherwise be sure to check out internals.md
for an overview on the internals.
Filing a pull request
Check out Servo's Github workflow for an overview on creating a pull request.
Don't worry about requesting code review, as there is nothing formally setup for this repository. I try and review each pull request as soon as I can.
There is continuous integration setup for cbindgen
using travis. It automatically runs cargo test
which runs cbindgen
against a series of rust files from tests/rust/
and checks that the output compiles using gcc
or g++
.
In addition to a C/C++ compiler cargo test
requires Python and Cython
(python -m pip install Cython
) for checking Cython bindings generated from tests (.pyx
files).
Please run cargo test
before filing a pull request to be sure that all tests pass. This will also update the test expectations.
Rustfmt is also enforced by travis. To format your code install rustfmt-preview
using rustup component add rustfmt-preview
and then cargo fmt
. Travis runs with rust nightly, so use rustup run nightly -- cargo fmt
to guarantee consistent results.
Writing new tests with your pull requests is also appreciated.