Skip to content

Latest commit

History

History
69 lines (42 loc) 路 1.97 KB

File metadata and controls

69 lines (42 loc) 路 1.97 KB

Sonic Contributing Guide

Get Started

  • First of all, fork and clone this repo;
  • Install Rust and Cargo (to build and test Sonic);
  • Install Task (for a better Developer Experience);

Build Sonic

From the repository root, run:

cargo build --locked

Start Sonic

From the repository root, run:

cargo run

Run unit tests

From the repository root, run:

task test

Run end-to-end tests

From the repository root, run:

task e2e-test

Run all CI tests

task ci

Update dependencies

task deps:update

This lints the supply chain after updating, and provides utility for easily validating changes in dependencies build scripts. This is very important, please don鈥檛 use cargo update without task deps:lint and task deps:validate-build-scripts!

Report Issues & Request Features

If you encounter an issue with Sonic, or would like to request a feature to be implemented, please do open an issue.

Note that before opening an issue, you should always search for other similar issues as to avoid opening a duplicate issue. This makes the life of the project maintainer much easier.

When writing your issue title and command, make sure to be as precise as possible, giving away the maximum amount of details (even if you have a feeling some details are useless, they might make debugging or understanding easier for us).

Submit Your Code

If you would like to contribute directly by writing code, you should fork this repository and edit it right away from your GitHub namespace.

Once you are done with your work, run cargo clippy --locked --no-deps to ensure your code follows our formatting guidelines.

When this is done, you may open a Pull Request (PR), then explain your changes and their purpose precisely. We will finally accept or comment on your Pull Request, if we need more changes done on your code.