Thanks for contributing! ⛄
Feel free to create issues and make pull requests, we'll try to quickly review them.
If you're looking for things to do check out the open issues, especially those with the easy flag. Or take a grep through all TODO comments in the code and feel free to help us out there!
🌈 Here's a checklist for the perfect pull request:
- Make sure existing tests still work by running
cargo test
locally. - Add new tests for any new feature or regression tests for bugfixes.
- Install Clippy and run
rustup run nightly cargo clippy
to catch common mistakes (will be checked by Travis) - Install Rustfmt and run
cargo fmt
to format your code (will also be checked by Travis)
If you need assistance, you can join the #cobalt
channel on irc.mozilla.org
or the Gitter chat
We want you to feel safe and welcome and will enforce the The Rust Code of Conduct on all communication platforms of this project. Please contact @johannhof for questions or in cases of violation.
When we're ready to release, a project owner should do the following
- Determine what the next version is, according to semver
- Bump version in a commit
- Run
clog --setversion <X>.<Y>.<Z>
, touch up the log - Update the version in
Cargo.toml
- Run
cargo check
to updateCargo.lock
- Run
- Tag the commit via
git tag -a v<X>.<Y>.<Z>
git push upstream master --tag v<X>.<Y>.<Z>
- Run
cargo publish
(runcargo login
first if needed)