contrib : update roles (#16113)
* contrib : update roles * contrib : merge PR sections + add link to CI instructions Updated pull request guidelines for contributors and collaborators, and clarified merging practices for maintainers.
This commit is contained in:
parent
ec65fb52f0
commit
5c6106a696
|
|
@ -1,4 +1,12 @@
|
||||||
# Pull requests (for contributors)
|
# Contributors
|
||||||
|
|
||||||
|
The project differentiates between 3 levels of contributors:
|
||||||
|
|
||||||
|
- Contributors: people who have contributed before (no special privileges)
|
||||||
|
- Collaborators (Triage): people with significant contributions, who may be responsible for some parts of the code, and are expected to maintain and review contributions for the code they own
|
||||||
|
- Maintainers: responsible for reviewing and merging PRs, after approval from the code owners
|
||||||
|
|
||||||
|
# Pull requests (for contributors & collaborators)
|
||||||
|
|
||||||
- llama.cpp uses the ggml tensor library for model evaluation. If you are unfamiliar with ggml, consider taking a look at the [examples in the ggml repository](https://github.com/ggml-org/ggml/tree/master/examples/). [simple](https://github.com/ggml-org/ggml/tree/master/examples/simple) shows the bare minimum for using ggml. [gpt-2](https://github.com/ggml-org/ggml/tree/master/examples/gpt-2) has minimal implementations for language model inference using GPT-2. [mnist](https://github.com/ggml-org/ggml/tree/master/examples/mnist) demonstrates how to train and evaluate a simple image classifier
|
- llama.cpp uses the ggml tensor library for model evaluation. If you are unfamiliar with ggml, consider taking a look at the [examples in the ggml repository](https://github.com/ggml-org/ggml/tree/master/examples/). [simple](https://github.com/ggml-org/ggml/tree/master/examples/simple) shows the bare minimum for using ggml. [gpt-2](https://github.com/ggml-org/ggml/tree/master/examples/gpt-2) has minimal implementations for language model inference using GPT-2. [mnist](https://github.com/ggml-org/ggml/tree/master/examples/mnist) demonstrates how to train and evaluate a simple image classifier
|
||||||
- Test your changes:
|
- Test your changes:
|
||||||
|
|
@ -9,15 +17,16 @@
|
||||||
- Create separate PRs for each feature or fix. Avoid combining unrelated changes in a single PR
|
- Create separate PRs for each feature or fix. Avoid combining unrelated changes in a single PR
|
||||||
- Consider allowing write access to your branch for faster reviews, as reviewers can push commits directly
|
- Consider allowing write access to your branch for faster reviews, as reviewers can push commits directly
|
||||||
- If your PR becomes stale, don't hesitate to ping the maintainers in the comments
|
- If your PR becomes stale, don't hesitate to ping the maintainers in the comments
|
||||||
|
- Maintainers will rely on your insights and approval when making a final decision to approve and merge a PR
|
||||||
|
- Consider adding yourself to [CODEOWNERS](CODEOWNERS) to indicate your availability for reviewing related PRs
|
||||||
|
|
||||||
# Pull requests (for collaborators)
|
# Pull requests (for maintainers)
|
||||||
|
|
||||||
- Squash-merge PRs
|
- Squash-merge PRs
|
||||||
- Use the following format for the squashed commit title: `<module> : <commit title> (#<issue_number>)`. For example: `utils : fix typo in utils.py (#1234)`
|
- Use the following format for the squashed commit title: `<module> : <commit title> (#<issue_number>)`. For example: `utils : fix typo in utils.py (#1234)`
|
||||||
- Optionally pick a `<module>` from here: https://github.com/ggml-org/llama.cpp/wiki/Modules
|
- Optionally pick a `<module>` from here: https://github.com/ggml-org/llama.cpp/wiki/Modules
|
||||||
- Consider adding yourself to [CODEOWNERS](CODEOWNERS)
|
- Let other maintainers, merge their own PRs
|
||||||
- Let authors, who are also collaborators, merge their own PRs
|
- When merging a PR, make sure you have a good understanding of the changes
|
||||||
- When merging a PR by a contributor, make sure you have a good understanding of the changes
|
|
||||||
- Be mindful of maintenance: most of the work going into a feature happens after the PR is merged. If the PR author is not committed to contribute long-term, someone else needs to take responsibility (you)
|
- Be mindful of maintenance: most of the work going into a feature happens after the PR is merged. If the PR author is not committed to contribute long-term, someone else needs to take responsibility (you)
|
||||||
|
|
||||||
# Coding guidelines
|
# Coding guidelines
|
||||||
|
|
@ -117,6 +126,21 @@
|
||||||
#endif // FOO
|
#endif // FOO
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Code maintenance
|
||||||
|
|
||||||
|
- Existing code should have designated collaborators and/or maintainers specified in the [CODEOWNERS](CODEOWNERS) file reponsible for:
|
||||||
|
- Reviewing and merging related PRs
|
||||||
|
- Fixing related bugs
|
||||||
|
- Providing developer guidance/support
|
||||||
|
|
||||||
|
- When adding or modifying a large piece of code:
|
||||||
|
- If you are a collaborator, make sure to add yourself to [CODEOWNERS](CODEOWNERS) to indicate your availability for reviewing related PRs
|
||||||
|
- If you are a contributor, find an existing collaborator who is willing to review and maintain your code long-term
|
||||||
|
- Provide the necessary CI workflow (and hardware) to test your changes (see [ci/README.md](https://github.com/ggml-org/llama.cpp/tree/master/ci))
|
||||||
|
|
||||||
|
- New code should follow the guidelines (coding, naming, etc.) outlined in this document. Exceptions are allowed in isolated, backend-specific parts of the code that do not interface directly with the `ggml` interfaces.
|
||||||
|
_(NOTE: for legacy reasons, existing code is not required to follow this guideline)_
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
- Documentation is a community effort
|
- Documentation is a community effort
|
||||||
|
|
|
||||||
|
|
@ -520,8 +520,8 @@ To learn more about model quantization, [read this documentation](tools/quantize
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
- Contributors can open PRs
|
- Contributors can open PRs
|
||||||
- Collaborators can push to branches in the `llama.cpp` repo and merge PRs into the `master` branch
|
|
||||||
- Collaborators will be invited based on contributions
|
- Collaborators will be invited based on contributions
|
||||||
|
- Maintainers can push to branches in the `llama.cpp` repo and merge PRs into the `master` branch
|
||||||
- Any help with managing issues, PRs and projects is very appreciated!
|
- Any help with managing issues, PRs and projects is very appreciated!
|
||||||
- See [good first issues](https://github.com/ggml-org/llama.cpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) for tasks suitable for first contributions
|
- See [good first issues](https://github.com/ggml-org/llama.cpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) for tasks suitable for first contributions
|
||||||
- Read the [CONTRIBUTING.md](CONTRIBUTING.md) for more information
|
- Read the [CONTRIBUTING.md](CONTRIBUTING.md) for more information
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue