You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+65Lines changed: 65 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -54,3 +54,68 @@ A new language feature requires a SIP (Scala Improvement Process) proposal. For
54
54
-[Boy Scout Rule](http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule) should be applied.
55
55
56
56
Please also have a look at our [Pull Request Policy](https://github.com/scala/scala/wiki/Pull-Request-Policy), as well as the [Scala Hacker Guide](http://www.scala-lang.org/contribute/hacker-guide.html) by @xeno-by.
57
+
58
+
59
+
# Pull Request Policy
60
+
61
+
taken from https://github.com/scala/scala/wiki/Pull-Request-Policy
62
+
before it was put out of its misery
63
+
64
+
Hi there, pull request submitter!
65
+
66
+
Your pull request should:
67
+
- (... have been discussed on scala-internals)
68
+
- merge cleanly
69
+
- consist of commits with messages that clearly state which problem this commit resolves and how
70
+
- it should be stated in the active, present tense
- for a bug fix, the title must look like "SI-NNNN - don't crash when moon is in wrong phase"
74
+
- overall, think of the first line of the commit as a description of the action performed by the commit on the code base, so use the present tense -- that also makes them easy to reuse in release notes
75
+
- backports should be tagged as [backport], it's also nice to mention this when a commit purely refactors and is not intended to change behaviour
76
+
- when working on maintenance branches (e.g., 2.10.x), include [nomerge] if this commit should not be merged forward into the next release branch
77
+
- come with tests (included in the same commit as the functional change), or explain in detail why it cannot be tested (discuss this on scala-internals first). The tests itself should:
78
+
- be minimal, deterministic, stable (unaffected by irrelevant changes), easy to understand and review
79
+
- have minimal dependencies: a compiler bug should not depend on, e.g. the Scala library
80
+
- typically fail before your fix is applied (so we see that you are fixing a legitimate bug) and should obviously pass after your fix
81
+
- come with appropriate documentation
82
+
- for example, any API additions should include Scaladoc
83
+
- each commit must pass the test suite (checked automatically by the build bot by running approximately `ant test-opt`)
84
+
- a commit is considered a unit of useful change and must thus pass the test suite
85
+
(this way we stand a chance running git bisect later)
86
+
- be assigned to one or more reviewers (if you're not sure, see the list below or contact scala-internals)
87
+
- to assign a reviewer, add a "review by @reviewer" to your PR description. NOTE: it's best not to @mention in commit messages, as github pings you every time a commit with your @name on it shuffles through the system (even in other repos, on merges,...)
88
+
- get the green light from the reviewer ("LGTM" -- looks good to me)
89
+
- review feedback may be addressed by pushing new commits to the request,
90
+
if these commits stand on their own
91
+
92
+
Once all these conditions are met, and we agree with the change
93
+
(we are available on scala-internals to discuss this beforehand),
94
+
we will merge your changes.
95
+
96
+
Please note: you are responsible for meeting these criteria (reminding your reviewer, for example).
97
+
98
+
### Pull request bot mechanics
99
+
* The build bot automatically builds commits as they appear in a PR. Click on the little x next to a commit sha to go to the overview of the PR validation job. To diagnose a failure, consult the console output of the job that failed.
100
+
* 'PLS REBUILD ALL' will force the bot to rebuild (only necessary when a spurious failure occurred -- i.e., you expect a different validation outcome without changing the commit shas that make up the PR)
0 commit comments