|
| 1 | +# Contributing to Azure Functions Python Worker |
| 2 | +First, thank you for contributing to Azure Functions Python Worker repository! |
| 3 | + |
| 4 | +## Basics |
| 5 | +If you would like to become an active contributor to this project, please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.io/guidelines/). |
| 6 | + |
| 7 | +## Table of Contents |
| 8 | +[Before starting](#before-starting) |
| 9 | +- [GitHub basics](#github-basics) |
| 10 | +- [Code of Conduct](#code-of-conduct) |
| 11 | + |
| 12 | +[Making Changes](#making-changes) |
| 13 | +- [Pull Requests](#pull-requests) |
| 14 | +- [Pull Request Guidelines](#pull-request-guidelines) |
| 15 | + - [Cleaning up commits](#cleaning-up-commits) |
| 16 | + - [General guidelines](#general-guidelines) |
| 17 | + - [Testing guidelines](#testing-guidelines) |
| 18 | + |
| 19 | +## Before starting |
| 20 | + |
| 21 | +### GitHub basics |
| 22 | + |
| 23 | +#### GitHub workflow |
| 24 | + |
| 25 | +If you don't have experience with Git and GitHub, some of the terminology and process can be confusing. [Here's a guide to understanding GitHub](https://guides.github.com/introduction/flow/). |
| 26 | + |
| 27 | +#### Forking the Azure/Azure-Functions-Python-Worker repository |
| 28 | + |
| 29 | +If you don't have contributor [`Azure/Azure-Functions-Python-Worker`](https://github.com/Azure/azure-functions-python-worker/) repository, we ask that you fork the repository and submit your Pull Request from there. We block PRs from forks to go through E2E tests, however, we will cherry-picked PRs once they pass unit tests to validate the E2E tests. [Here's a guide to forks in GitHub](https://guides.github.com/activities/forking/). |
| 30 | + |
| 31 | +### Code of Conduct |
| 32 | + |
| 33 | +This project has adopted the [Microsoft Open Source Code of Conduct ](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments. |
| 34 | + |
| 35 | +## Making Changes |
| 36 | + |
| 37 | +### Pull Requests |
| 38 | + |
| 39 | +You can find all of the pull requests that have been opened in the [Pull Request](https://github.com/Azure/azure-functions-python-worker/pulls) section of the repository. |
| 40 | + |
| 41 | +To open your own pull request, click [here](https://github.com/Azure/azure-functions-python-worker/compare). When creating a pull request, keep the following in mind: |
| 42 | +- Make sure you are pointing to the fork and branch that your changes were made in (if working from a different fork). |
| 43 | +- Choose the correct branch you want your pull request to be merged into. |
| 44 | +- The pull request template that is provided **should be filled out**; this is not something that should just be deleted or ignored when the pull request is created |
| 45 | + - Deleting or ignoring this template will elongate the time it takes for your pull request to be reviewed |
| 46 | +<!-- - The SLA for reviewing pull requests is **three business days** --> |
| 47 | + |
| 48 | +### Pull Request Guidelines |
| 49 | + |
| 50 | +A pull request template will automatically be included as a part of your PR. Please fill out the checklist as specified. Pull requests **will not be reviewed** unless they include a properly completed checklist. |
| 51 | + |
| 52 | +#### Cleaning up Commits |
| 53 | + |
| 54 | +If you are thinking about making a large change, **break up the change into small, logical, testable chunks, and organize your pull requests accordingly**. |
| 55 | + |
| 56 | +Often when a pull request is created with a large number of files changed and/or a large number of lines of code added and/or removed, GitHub will have a difficult time opening up the changes on their site. This forces the Azure Azure-Functions-Python-Worker team to use separate software to do a code review on the pull request. |
| 57 | + |
| 58 | +If you find yourself creating a pull request and are unable to see all the changes on GitHub, we recommend **splitting the pull request into multiple pull requests that are able to be reviewed on GitHub**. |
| 59 | + |
| 60 | +If splitting up the pull request is not an option, we recommend **creating individual commits for different parts of the pull request, which can be reviewed individually on GitHub**. |
| 61 | + |
| 62 | +For more information on cleaning up the commits in a pull request, such as how to rebase, squash, and cherry-pick, click [here](https://github.com/Azure/azure-powershell/blob/dev/documentation/cleaning-up-commits.md). |
| 63 | + |
| 64 | +#### General guidelines |
| 65 | + |
| 66 | +The following guidelines must be followed in **EVERY** pull request that is opened. |
| 67 | + |
| 68 | +- Title of the pull request is clear and informative |
| 69 | +- There are a small number of commits that each have an informative message |
| 70 | +- A description of the changes the pull request makes is included, and a reference to the issue being resolved, if the change address any |
| 71 | +- All files have the Microsoft copyright header |
| 72 | + |
| 73 | +#### Testing Guidelines |
| 74 | + |
| 75 | +The following guidelines must be followed in **EVERY** pull request that is opened. |
| 76 | + |
| 77 | +- Pull request includes test coverage for the included changes |
| 78 | +- Changes would not be merged until all the CI scenarios pass. |
0 commit comments