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
Show file tree
Hide file tree
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
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 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
- Include detailed explanations and any links to documentation around how the feature works.
brendalee marked this conversation as resolved.
Show resolved Hide resolved
- Add detailed documentation about the feature/change (if applicable / if the feature is user facing)
- description of the feature
- recommended default configuration
- how a Filecoin storage provider should set it up
- an example of how to use it
- If the PR requires update to Boost documentation, then, please add tag `docs-needed` to the 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. Boost team will update the [Boost documentation](https://boost.filecoin.io) if `docs-needed` tag was provided in the PR. Verify the new documentation and suggest and required changes.
8. PR merged
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ See the docs at [https://boost.filecoin.io](https://boost.filecoin.io/getting-st
## Table of Contents

- [Building and Installing Boost](#building-and-installing-boost)
- [Running Boost devnet in Docker](#running-boost-devnet-in-docker)
- [Running Boost devnet in Docker](#running-boost-devnet-in-docker-for-development)
- [External Contribution Guidelines](#external-contribution-guidelines)
- [License](#license)

## Building and Installing Boost
Expand Down Expand Up @@ -107,6 +108,9 @@ make devnet/down
rm -rf ~/.cache/filecoin-proof-parameters
```

## External Contribution Guidelines
If you want to contribute to the Boost project, please refer to [these guidelines](./CONTRIBUTING.md).

## License

Dual-licensed under [MIT](https://github.com/filecoin-project/boost/blob/main/LICENSE-MIT) + [Apache 2.0](https://github.com/filecoin-project/boost/blob/main/LICENSE-APACHE)