|
| 1 | +# Contributing to SIG Scheduling |
| 2 | + |
| 3 | +Welcome to contributing to SIG Scheduling. We are excited about the prospect of you |
| 4 | +joining our [community](https://github.com/kubernetes/community/tree/master/sig-scheduling)! |
| 5 | + |
| 6 | +SIG Scheduling is responsible for the components that make Pod placement decisions. |
| 7 | +You can read the SIG mission outlined in the [charter](https://git.k8s.io/community/sig-cluster-lifecycle/charter.md). |
| 8 | + |
| 9 | +There are multiple ways you can participate, including PRs, issues, documentation, new proposals, |
| 10 | +helping to answer end-user's questions, attending meetings. All kinds of contributions are welcomed. |
| 11 | + |
| 12 | +## Before you begin |
| 13 | + |
| 14 | +We strongly recommend you to check out the [Kubernetes Contributor Guide](https://github.com/kubernetes/community/tree/master/contributors/guide) |
| 15 | +and [Contributor Cheat Sheet](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet) first. |
| 16 | + |
| 17 | +## Getting Started |
| 18 | + |
| 19 | +* If you're a newcomer and have no idea where to start, we have a non-stale pool of issues that are |
| 20 | +available for you: |
| 21 | + * [first-good-issue](https://github.com/kubernetes/kubernetes/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+label%3Asig%2Fscheduling+) |
| 22 | + * [help wanted](https://github.com/kubernetes/kubernetes/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+label%3Asig%2Fscheduling+) |
| 23 | + |
| 24 | +* If you want to know how kube-scheduler generally works, you can read the [scheduling-eviction](https://kubernetes.io/docs/concepts/scheduling-eviction/). |
| 25 | + |
| 26 | +* If you want to understand the architectural details of kube-scheduler, you can refer to the [design docs](https://github.com/kubernetes/community/tree/master/contributors/devel/sig-scheduling) |
| 27 | + or [KEPs](https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling). |
| 28 | + |
| 29 | +* If you have any questions, you can find us in the Kubernetes [slack](https://app.slack.com/client/T09NY5SBT/C09TP78DV). |
| 30 | + |
| 31 | +* If you find a bug, please open an issue under kubernetes/kubernetes with labels `/sig scheduling` and `/kind bug`, |
| 32 | +also follow the requirements of `Bug Report`, it will help us a lot when analyzing the errors. |
| 33 | + |
| 34 | +* If you have a feature request: |
| 35 | + * Open an issue under kubernetes/kubernetes with labels `/sig scheduling` and `/kind feature`, please focus on |
| 36 | + the user stories |
| 37 | + * If there's any debate on the rationalities, you can bring it to the [SIG meeting](https://github.com/kubernetes/community/tree/master/sig-scheduling#meetings). |
| 38 | + * If there are multiple implementation options, consider creating a doc with Pros and Cons, and gather some feedback. |
| 39 | + You can do this by sharing the doc with the SIG's [mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-scheduling). |
| 40 | + * If necessary, open an issue in kubernetes/enhancements and write a [KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling) for it. |
| 41 | + |
| 42 | +* If you find any out-of-date documentation, please help the community correct that by either sending a PR to |
| 43 | +update the docs or open an issue if you are not sure about how to fix it. |
| 44 | + * For website documentation, you can open issues at [kubernetes/website](https://github.com/kubernetes/website). |
| 45 | + * For developer documentation, you can open issues at [kubernetes/community](https://github.com/kubernetes/community). |
| 46 | + |
| 47 | +* We also maintain a list of [sub projects](https://github.com/kubernetes/community/tree/master/sig-scheduling#subprojects) here. |
| 48 | +If you're interested, you can contribute to them as well. |
| 49 | + |
| 50 | +## Best Practices |
| 51 | + |
| 52 | +The community has been following some practices to help ensure maintainable and quality code: |
| 53 | + |
| 54 | +* It is best if a PR is first reviewed by the [Reviewers](https://github.com/kubernetes/community/blob/master/community-membership.md#reviewer). Once the PR gets a `/lgtm` from a Reviewer, |
| 55 | + [Approvers](https://github.com/kubernetes/community/blob/master/community-membership.md#approver) will review the PR to approve it. |
| 56 | + |
| 57 | +* Leave the Reviewers assigned by the bot automatically if possible, unless there is a need |
| 58 | +for a specific contributor's expertise. |
| 59 | + |
| 60 | +* Critical bug fixes can be assigned to approvers directly. |
| 61 | + |
| 62 | +* Always add a new commit to address review comments instead of amending. This helps to |
| 63 | +review the new changes. You might be asked by the Reviewer to squash at a certain point. |
| 64 | + |
| 65 | +* Squash the commits when the PR is ready to merge, this does a great favor for the git history. |
| 66 | + |
| 67 | +* Code contributions should be relatively small, simple, well documented and well tested. |
| 68 | +Try to split your changes into incremental PRs if the feature is big. |
| 69 | + |
| 70 | +* Whatever discussed offline or at the community meeting should be recorded back |
| 71 | +to the issue/PR, which helps to preserve the context. |
| 72 | + |
| 73 | +* Always open an issue for a TODO or a follow-up just in case you forget it. |
| 74 | + |
| 75 | +## Use of @mentions |
| 76 | + |
| 77 | +* @kubernetes/sig-scheduling-api-reviews - API Changes and Reviews |
| 78 | +* @kubernetes/sig-scheduling-bugs - Bug Triage and Troubleshooting |
| 79 | +* @kubernetes/sig-scheduling-feature-requests - Feature Requests |
| 80 | +* @kubernetes/sig-scheduling-misc - General Discussion from Approvers and Reviewers |
| 81 | +* @kubernetes/sig-scheduling-pr-reviews - PR Reviews |
| 82 | +* @kubernetes/sig-scheduling-proposals - Design Proposals |
| 83 | +* @kubernetes/sig-scheduling-test-failures - Test Failures and Triage |
0 commit comments