First off, thank you for considering contributing to abin.
If your contribution is not straightforward, please first discuss the change you wish to make by creating a new issue before making the change.
One of the project goals is to be easy to understand so, expacially for github actions, try to keep things simple and to add comments whenever this is not possible.
Issues have to be reported on our issue tracker. Please:
- Check that the issue has not already been reported.
- This can be achieved by searching keywords on the issue tracker.
- Try to use a clear title, and describe your problem with complete sentences.
Try to do one pull request per change.
Update the changes you have made in CHANGELOG file under the Unreleased section.
Add the changes of your pull request to one of the following subsections, depending on the types of changes defined by Keep a changelog:
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Removedfor now removed features.Fixedfor any bug fixes.Securityin case of vulnerabilities.
If the required subsection does not exist yet under Unreleased, create it!
This is no different than other Rust projects.
git clone https://github.com/cronosun/abin
cd abin
cargo build-
Build and run release version:
cargo build --release && cargo run --release -
Run Clippy:
cargo clippy --all
-
Run all tests:
cargo test --all -
Check to see if there are code formatting issues
cargo fmt --all -- --check
-
Format the code in the project
cargo fmt --all