|
| 1 | +--- |
| 2 | +layout: default |
| 3 | +nav_order: 2 |
| 4 | +parent: Contributing |
| 5 | +title: Code Contributions |
| 6 | +--- |
| 7 | + |
| 8 | +# Code Contributions |
| 9 | + |
| 10 | +## Overview |
| 11 | + |
| 12 | +Outlines the best way for developers and the community to contribute to RAPIDS projects. |
| 13 | + |
| 14 | +Contributions can be made in three ways: |
| 15 | +- [File a bug report]({% link contributing/issues.md %}) |
| 16 | +- [Suggest a new feature or improvement]({% link contributing/issues.md %}) |
| 17 | +- [Implement code for an issue](#your-first-issue) |
| 18 | + |
| 19 | +### Intended audience |
| 20 | + |
| 21 | +Community |
| 22 | +{: .label .label-yellow} |
| 23 | + |
| 24 | +Developers |
| 25 | +{: .label .label-green} |
| 26 | + |
| 27 | +### See also |
| 28 | + |
| 29 | +- [Issues]({% link contributing/issues.md %}) |
| 30 | +- [Pull Requests]({% link contributing/prs.md %}) |
| 31 | + |
| 32 | +## New developers |
| 33 | + |
| 34 | +If you are new to RAPIDS, make sure to check out <https://rapids.ai/> to help understand the purpose of RAPIDS. |
| 35 | + |
| 36 | +### Your first issue |
| 37 | + |
| 38 | +1. Read the project's README to learn how to setup the development environment |
| 39 | +2. Find an issue to work on. The best way is to look for the <span class="label" style="background: #7057ff; color: #ffffff; text-transform: none">good first issue</span> or <span class="label" style="background: #008672; color: #ffffff; text-transform: none">help wanted</span> labels |
| 40 | +3. Comment on the issue saying you are going to work on it |
| 41 | +4. Code! Make sure to update unit tests! |
| 42 | +5. When done, [create your pull request]({% link contributing/prs.md %}) |
| 43 | +6. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed |
| 44 | +7. Wait for other developers to review your code and update code as needed |
| 45 | +8. Once reviewed and approved, a RAPIDS developer will merge your pull request |
| 46 | + |
| 47 | +Remember, if you are unsure about anything, don't hesitate to comment on issues and ask for clarifications! |
| 48 | + |
| 49 | +## Seasoned developers |
| 50 | + |
| 51 | +Once you have gotten your feet wet and are more comfortable with the code, follow these steps to find prioritized issues. |
| 52 | + |
| 53 | +All RAPIDS projects have project boards for triaging [issues]({% link releases/triage.md %}) and planning [features]({% link releases/planning.md %}). |
| 54 | + |
| 55 | +### What do I work on? |
| 56 | + |
| 57 | +__Note:__ If you are have been assigned issues, work on those issues first. |
| 58 | + |
| 59 | +For all others: |
| 60 | + |
| 61 | +1. Find the project board for the next release (named `[version] Release`) |
| 62 | +2. Issues are prioritized from high to low: `P0`, `P1`, and `P2`. |
| 63 | +<br>Within each column, the issues are ordered top to bottom from most important to least. |
| 64 | +3. Select the highest priority issue that you are comfortable working on |
| 65 | +4. If you are in the RAPIDS org, assign the issue to yourself. If not, comment on the issue saying you are going to work on it |
| 66 | +5. Code! Make sure to update unit tests! |
| 67 | +6. When done, [create your pull request]({% link contributing/prs.md %}) |
| 68 | +7. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed |
| 69 | +8. Wait for other developers to review your code and update code as needed |
| 70 | +9. Once reviewed and approved, a RAPIDS developer will merge your pull request |
| 71 | + |
| 72 | +### Reviewing pull requests |
| 73 | + |
| 74 | +1. Find the project board for the next release (named `[version] Release`) |
| 75 | +2. Scroll right to find the `PR-Needs Review` |
| 76 | +3. Review the PR (Make sure you follow the [Code of Conduct]({% link resources/conduct.md %})) |
| 77 | + |
| 78 | +If you are project lead, also review pull requests in the `PR-Reviewer Approved` column and merge as needed. |
0 commit comments