|
| 1 | +# Contributing to Numba-CUDA |
| 2 | + |
| 3 | +If you are interested in contributing to Numba-CUDA, your contributions will fall |
| 4 | +into three categories: |
| 5 | +1. You want to report a bug, feature request, or documentation issue |
| 6 | + - File an [issue](https://github.com/NVIDIA/numba-cuda/issues/new/choose) |
| 7 | + describing what you encountered or what you want to see changed. |
| 8 | + - The Numba-CUDA team will evaluate the issues and triage them. If you |
| 9 | + believe the issue needs priority attention comment on the issue to notify |
| 10 | + the team. |
| 11 | +2. You want to propose a new Feature and implement it |
| 12 | + - Post about your intended feature, and we shall discuss the design and |
| 13 | + implementation. |
| 14 | + - Once we agree that the plan looks good, go ahead and implement it, using |
| 15 | + the [code contributions](#code-contributions) guide below. |
| 16 | +3. You want to implement a feature or bug-fix for an outstanding issue |
| 17 | + - Follow the [code contributions](#code-contributions) guide below. |
| 18 | + - If you need more context on a particular issue, please ask and we shall |
| 19 | + provide. |
| 20 | + |
| 21 | +## Code contributions |
| 22 | + |
| 23 | +### Your first issue |
| 24 | + |
| 25 | +1. Read the project's [README.md](https://github.com/NVIDIA/numba-cuda/blob/main/README.md) |
| 26 | + to learn how to setup the development environment |
| 27 | +2. Find an issue to work on. |
| 28 | +3. Comment on the issue saying you are going to work on it |
| 29 | +4. Code! Make sure to update unit tests! |
| 30 | +5. When done, [create your pull request](https://github.com/NVIDIA/numba-cuda/compare) |
| 31 | +6. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed |
| 32 | +7. Wait for other developers to review your code and update code as needed |
| 33 | +8. Once reviewed and approved, a Numba-CUDA developer will merge your pull request |
| 34 | + |
| 35 | +Remember, if you are unsure about anything, don't hesitate to comment on issues |
| 36 | +and ask for clarifications! |
| 37 | + |
| 38 | +## Releases |
| 39 | + |
| 40 | +The release process for Numba-CUDA involves the following steps: |
| 41 | + |
| 42 | +- Open a PR to update `numba_cuda/VERSION` to the desired version. |
| 43 | +- Generate a short changelog with `git log v<PREVIOUS_VERSION>..HEAD --oneline --pretty=format:"- %s"` |
| 44 | +- Put the changelog in the version update PR description. |
| 45 | +- Once `main` is updated, tag the release: |
| 46 | +``` |
| 47 | +git checkout main && git pull |
| 48 | +git tag -a v<VERSION> |
| 49 | +``` |
| 50 | +- For the tag annotation, paste the same changelog as above, like this: |
| 51 | +``` |
| 52 | +v<VERSION> |
| 53 | +
|
| 54 | +- ... (bullet points on release items) |
| 55 | +``` |
| 56 | +- Push the tag: |
| 57 | +``` |
| 58 | +git push [email protected]:NVIDIA/numba-cuda.git v<VERSION> |
| 59 | +``` |
| 60 | + |
| 61 | +## Attribution |
| 62 | +Portions adopted from https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md |
0 commit comments