Contributing
Carve is a clean-slate rewrite under Apache-2.0. Contributions are
welcome.
Ground rules
- Be respectful. The Code of Conduct applies.
- No code copied from other projects unless their license is compatible and the
attribution is preserved.
Sign-off
All commits must carry a Developer Certificate of Origin
sign-off:
git commit -s -m "your message"This adds Signed-off-by: Your Name <email> to the commit and confirms that
you have the right to contribute the change under Apache-2.0.
Code style
Code-style and structural rules live in RULES.md. C++ follows the
Google style guide with
deviations encoded in .clang-format and
.clang-tidy. Build with --config=clang to use the bundled
toolchain.
Pre-commit
Install the local quality gates once, then they run on every commit:
pre-commit install
pre-commit run -a # run against the whole treeTests
bazel test //...For sanitizer runs:
bazel test //... --config=clang --config=asan --config=ubsan
bazel test //... --config=clang --config=msan # Linux x86-64 only
bazel test //... --config=clang --config=tsan