Thanks for your interest in contributing to OP Succinct!
The OP Succinct project adheres to the Rust Code of Conduct. This code of conduct describes the minimum behavior expected from all contributors.
There are fundamentally three ways an individual can contribute:
- By opening an issue: For example, if you believe that you have uncovered a bug in OP-Succinct, creating a new issue in the issue tracker is the way to report it.
- By adding context: Providing additional context to existing issues, such as screenshots and code snippets to help resolve issues.
- By resolving issues: Typically this is done in the form of either demonstrating that the issue reported is not a problem after all, or more often, by opening a pull request that fixes the underlying problem, in a concrete and reviewable manner.
Anybody can participate in any stage of contribution. We urge you to participate in the discussion around bugs and participate in reviewing PRs.
If you're experiencing an issue, please open a GitHub Issue.
At this time, we will not be accepting contributions that only fix spelling or grammatical errors in documentation, code or elsewhere.
OP Succinct maintains multiple release lines (e.g., main for v4.x development, release/v3.x for v3.x maintenance). When a fix or non-breaking feature should be applied to a maintenance branch, we use automated backporting.
- Add the label: When creating a PR to
main, add thebackport/v3.xlabel if the change should also be applied to the v3.x release line. - Merge to main: Get your PR reviewed and merged as usual.
- Automation creates backport PR: A GitHub Action automatically cherry-picks your changes and creates a PR targeting
release/v3.x. - Review and merge: Review the backport PR and merge it.
| Label | When to Use |
|---|---|
backport/v3.x |
Bug fixes, non-breaking features, documentation updates that should also be in v3.x |
no-backport |
Breaking changes, features that depend on v4.x-only code, changes not applicable to v3.x |
If the cherry-pick fails due to conflicts:
- The automation will post a comment on your original PR explaining the conflict.
- You'll need to manually cherry-pick and resolve conflicts:
git checkout release/v3.x git checkout -b backport/your-pr-number git cherry-pick <commit-sha> # Resolve conflicts git push origin backport/your-pr-number
- Open a PR from your backport branch to
release/v3.x.
Some changes may need modification when backported (e.g., different API names between versions). In these cases:
- Do not use the
backport/v3.xlabel. - Manually cherry-pick and adjust the code as needed.
- Open a PR with the modified backport.
Adapted from the Reth contributing guide.