Skip to content

doc: update contributing guidelines wrt pre-commit/devtool #5204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 12 additions & 28 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,39 +57,23 @@ If you just want to receive feedback for a contribution proposal, open an “RFC
## Contribution Quality Standards

Most quality and style standards are enforced automatically during integration
testing. For ease of use you can setup a git pre-commit hook by running the
following in the Firecracker root directory:
testing. To run these quality and style checks, use `devtool`.

```
cargo install rusty-hook
rusty-hook init
```

This project also has linters for Python and Markdown. These will be called by
the pre-commit when you modify any Python and Markdown files. In order to make
sure you are setup we recommend you install
[poetry](https://python-poetry.org/docs/) and
[pyenv](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation).

Poetry is used by this project and pyenv will help you make sure you have a
Python version compatible with the poetry python project we use as part of
`./tools/devctr`.

Once you have these two installed you can run the following to install the dev
container poetry project:
```bash
# Format code (Rust, Python, Markdown)
./tools/devtool fmt

# Check code style and lint warnings
./tools/devtool checkstyle
```
poetry -C ./tools/devctr install --no-root
```

Then, you can activate the poetry virtual environment by running:

```
poetry shell -C ./tools/devctr
```
Refer to [docs/getting-started.md](docs/getting-started.md) and run
`tools/devtool --help` for more information on `devtool`, such as build
verification, tests, etc.

Which you will need to do after modifying python or markdown files so that the
pre-commit can finish successfully.
> **Note:** The legacy rusty-hook pre-commit script has been deprecated and is
> unmaintained. Please use `devtool` for formatting, linting, and build checks
> during your development cycle.

Your contribution needs to meet the following standards:

Expand Down