docs: update contributing process (#3833)

* docs: update contributing process

* add pr example
This commit is contained in:
wiesche
2026-05-25 20:34:08 +02:00
committed by GitHub
parent 55d465beb2
commit 51f58427e9
2 changed files with 38 additions and 13 deletions
+37 -11
View File
@@ -12,7 +12,36 @@ More documentation or updates/fixes to existing documentation are also very welc
We generally prefer you to PR your work earlier rather than later. This ensures everyone else has a better idea of what's being worked on, and can help reduce wasted effort. If work on your PR has just begun, please feel free to create the PR with [WIP] (work in progress) in the PR title, and let us know when it's ready for review in the comments. We generally prefer you to PR your work earlier rather than later. This ensures everyone else has a better idea of what's being worked on, and can help reduce wasted effort. If work on your PR has just begun, please feel free to create the PR with [WIP] (work in progress) in the PR title, and let us know when it's ready for review in the comments.
Since mainnet has been released, the bar for having PRs accepted has been raised. Before submitting your PR for approval, please be ensure it: All changes should first be submitted against the `staging` branch and follow the PR rules below. The `staging` branch is tested by the community before changes are merged into `master` by an admin when appropriate.
```text
Contributor branch
+-- Pull request
+-- staging branch
+-- testing (community)
+-- Admin merge
+-- master
```
## Creating a Pull Request
Create your work on a dedicated branch based on the latest `staging` branch.
```sh
git checkout staging
git pull
git checkout -b my-change
```
Fork the Grin repository and add your fork as a git remote.
```sh
git remote add my-fork <your-fork-url>
```
Push your branch to your fork and open a GitHub pull request from your fork's branch into the Grin repository's `staging` branch. You can do this through the GitHub web interface.
Since mainnet has been released, the bar for having PRs accepted has been raised. Before submitting your PR for approval, please ensure it:
* Includes a proper description of what problems the PR addresses, as well as a detailed explanation as to what it changes * Includes a proper description of what problems the PR addresses, as well as a detailed explanation as to what it changes
* Explains whether/how the change is consensus breaking or breaks existing client functionality * Explains whether/how the change is consensus breaking or breaks existing client functionality
* Contains unit tests exercising new/changed functionality * Contains unit tests exercising new/changed functionality
@@ -26,23 +55,20 @@ The development team will be happy to help and guide you with any of these point
# Find Us # Find Us
When you are starting to contribute to grin, we really would appreciate if you come by the gitter chat channels. When you are starting to contribute to grin, we really would appreciate if you come by one of the community channels.
In case of problems with trying out grin, before starting to contribute, there's the [grincoin#support](https://keybase.io/team/grincoin) on Keybase. Write there about what you've done, what you want to do, and maybe paste logs through a text paste webservice. * Join the development discussion on [Telegram](https://t.me/grindevelopment).
* Join the [grincoin team on Keybase](https://keybase.io/team/grincoin) for community and support channels.
* Please [join the grincoin#general on Keybase](https://keybase.io/team/grincoin) to get a feeling for the community. * Join the discussion on the [Forum](https://forum.grin.mw).
* And see the developers chat channel [grincoin#dev on Keybase](https://keybase.io/team/grincoin) if you have questions about source code files.
If you explain what you're looking at and what you want to do, we'll try to help you along the way.
* See `docs/*.md` and the folder structure explanations, [the wiki](https://github.com/mimblewimble/docs/wiki) and the official [Grin documentation](https://docs.grin.mw/). * See `docs/*.md` and the folder structure explanations, [the wiki](https://github.com/mimblewimble/docs/wiki) and the official [Grin documentation](https://docs.grin.mw/).
* Further information and discussions are in the [Forum](https://forum.grin.mw), the [website](https://grin.mw), the [mailing list](https://lists.launchpad.net/mimblewimble/) and news channels like the [Reddit/grincoin](https://www.reddit.com/r/grincoin/) and a (mostly unfiltered!) Twitter bot that collects headlines, mailing list posts, and reddit posts related to Mimblewimble/Grin: [@grinmw](https://twitter.com/grinmw)
## Testing ## Testing
Run all tests with `cargo test --all` and please remember to test locally before creating a PR on github. Run all tests with `cargo test --all` and please remember to test locally before creating a PR against `staging`.
### Check Travis output ### Check CI output
After creating a PR on github, the code will be tested automatically by Travis CI, and from the results you'll get a red or green light. The test can take a while, and you'll have a "yellow traffic light" on your PR until Travis CI is done testing. After creating a PR, the code will be tested automatically by CI. The test can take a while, and your PR may remain pending until CI is done testing.
### Building quality ### Building quality
+1 -2
View File
@@ -30,9 +30,8 @@ To get involved, read our [contributing docs](CONTRIBUTING.md).
Find us: Find us:
* Telegram: [Grin Development](https://t.me/grindevelopment)
* Chat: [Keybase](https://keybase.io/team/grincoin), more instructions on how to join [here](https://grin.mw/community). * Chat: [Keybase](https://keybase.io/team/grincoin), more instructions on how to join [here](https://grin.mw/community).
* Mailing list: join the [~Mimblewimble team](https://launchpad.net/~mimblewimble) and subscribe on Launchpad.
* Twitter for the Grin council: [@grincouncil](https://twitter.com/grincouncil)
## Getting Started ## Getting Started