Skip to content
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

Create CONTRIBUTING.md #1603

Merged
merged 9 commits into from
Aug 6, 2023
Merged
Changes from 1 commit
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
33 changes: 33 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# External Contribution Guidelines
As Boost grows its user base, there are more external contributors that have been building features, fixing bugs, or updating dependencies in the Boost repo. In this guide, you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, testing, and merging the PR. Note that these guidelines are subject to change.

If you would like to contribute, follow the steps below:

1. Propose a change (by opening an issue in Github) with details on
- Technical design
- UI changes required
- Implementation
- Testing plan
2. The Boost team will give feedback within 48 hours on the proposal.
- Discussion (as needed)
- Feedback addressed to proposing team
3. Open a PR
- address comments on the PR
- fix any issues that are surfaced
4. Testing
- Unit tests
- Unit tests are required for any new self-contained component.
- For example: the [ToHttpMultiaddr](https://github.com/filecoin-project/boost/blob/caea26a160a5893c600520632c9f443081dac32e/util/addr.go#L10C6-L10C21) function has a [unit test](https://github.com/filecoin-project/boost/blob/caea26a160a5893c600520632c9f443081dac32e/util/addr_test.go#L1)
- Integration tests
- Integration tests are required where the new functionality changes the way that boost behaves from the perspective of an external client.
- For example: [this itest was changed](https://github.com/filecoin-project/boost/blob/caea26a160a5893c600520632c9f443081dac32e/itests/dummydeal_test.go#L43-L47) to verify support for retrieval by identity cid.
5. The Boost team will review the PR within 48 hours.
6. Work with the Boost team to test on a local devnet and/or on our production miner.
- Start with testing on a [local devnet](https://github.com/filecoin-project/boost#running-boost-devnet-in-docker-for-development). Feel free to ask any questions you have in #boost-help.
- After you’ve tested on a local devnet, you can work with the Boost team directly to test on our production miners (if applicable).
7. PR merged
8. Update Boost documentation (if applicable / if the feature is user facing)
brendalee marked this conversation as resolved.
Show resolved Hide resolved
- description of the feature
- recommended default configuration
- how a Filecoin storage provider should set it up
- an example of how to use it