mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-10 07:48:19 -05:00
63 lines
1.8 KiB
Markdown
63 lines
1.8 KiB
Markdown
## Workflow
|
|
|
|
### Assigning issues
|
|
|
|
Before working on an issue, it should be assigned to the person who wants to work on it. For core contributors, this means assigning yourself to the issue, and for external contributors, this means asking to be assigned to the issue. This is to avoid double work.
|
|
|
|
### Pull requests
|
|
|
|
```mermaid
|
|
---
|
|
title: A feature or bug fix lives off of main
|
|
---
|
|
gitGraph
|
|
commit
|
|
commit
|
|
branch feat/cool-feature
|
|
checkout feat/cool-feature
|
|
commit
|
|
commit
|
|
checkout main
|
|
merge feat/cool-feature
|
|
commit
|
|
commit
|
|
```
|
|
|
|
- Features and bug fixes live on feature branches off of the main branch, and they are merged onto main as well.
|
|
This means that the latest version of reth (which might be unstable) always lives on main.
|
|
- Pull requests should not be merged without the review of at least one core contributor. For larger pull requests, at least two reviewers are recommended.
|
|
- Important pull requests that should be highlighted in the changelog should be marked with the https://github.com/paradigmxyz/reth/labels/M-changelog label.
|
|
|
|
### Releases
|
|
|
|
Releases are commits tagged with a version number on main (see [Releases](./release.md)).
|
|
|
|
```mermaid
|
|
---
|
|
title: Releases are tags on main
|
|
---
|
|
gitGraph
|
|
commit
|
|
commit
|
|
branch feat/cool-feature
|
|
checkout feat/cool-feature
|
|
commit
|
|
commit
|
|
checkout main
|
|
merge feat/cool-feature
|
|
commit tag: "v1.2.0"
|
|
commit
|
|
```
|
|
|
|
### CI
|
|
|
|
- Every PR undergoes various checks, including:
|
|
- Lints ([clippy], [rustfmt], ...)
|
|
- Unit tests
|
|
- Fuzz tests
|
|
- Integration tests (including peering and a testnet simulation)
|
|
- Additionally, each PR is again tested before release by being run every night on a live testnet
|
|
|
|
[clippy]: https://github.com/rust-lang/rust-clippy
|
|
[rustfmt]: https://github.com/rust-lang/rustfmt
|