Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 1 | # Gardening |
| 2 | |
| 3 | ## What is gardening? |
| 4 | |
| 5 | "Gardening" in open source projects refers to the background maintenance tasks done to keep the project healthy & growing & nice looking. |
| 6 | |
| 7 | This page lists common Go gardening tasks. |
| 8 | |
Brad Fitzpatrick | 922c95a | 2017-01-06 14:57:53 -0800 | [diff] [blame] | 9 | ## Access |
| 10 | |
| 11 | If you've been regularly active in the Go community for some time, feel free to ask for Gerrit and/or Github access to modify things. |
| 12 | |
| 13 | See http://golang.org/wiki/GerritAccess and http://golang.org/wiki/GithubAccess |
| 14 | |
| 15 | ## Gardening Tasks |
| 16 | |
Brad Fitzpatrick | 9ea57d0 | 2017-01-06 16:53:37 -0800 | [diff] [blame] | 17 | Before doing any gardening work, especially on the issue tracker, remember to familiarize yourself with the issues life-cycle, described here: [Handling Issues - Issue States](https://github.com/golang/go/wiki/HandlingIssues#issue-states). |
Alberto Donizetti | a5e4abe | 2017-01-07 01:48:30 +0100 | [diff] [blame] | 18 | |
Brad Fitzpatrick | aa772a0 | 2017-02-17 10:32:41 -0800 | [diff] [blame] | 19 | ### Fix red |
| 20 | |
| 21 | Look at https://build.golang.org/ --- is anything red? Fix or file bugs or nag people. The build dashboard should never be red, even occasionally. If the tree is red, people can't work effectively because TryBots and such will just report failures, masking other problems. |
| 22 | |
Brad Fitzpatrick | 922c95a | 2017-01-06 14:57:53 -0800 | [diff] [blame] | 23 | ### Triage new bugs |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 24 | |
Andrew Bonventre | be750a2 | 2018-03-27 13:10:11 -0400 | [diff] [blame] | 25 | Look at the untriaged bugs. For Go, we use the presence of a Milestone field and at least one label to mean that the bug has been triaged. To search for un-milestoned, un-labeled issues, use https://github.com/golang/go/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+no%3Amilestone+no%3Alabel |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 26 | |
| 27 | While triaging the bug: |
| 28 | |
| 29 | * is it a duplicate? Close it, referencing the dup. |
Emmanuel T Odeke | 53dac3a | 2017-02-12 01:09:16 -0700 | [diff] [blame] | 30 | * is it a Question rather than a bug? Close it and reply with something like "For questions about Go, see https://golang.org/wiki/Questions" |
Matthew Dempsky | 4884768 | 2017-01-06 15:07:01 -0800 | [diff] [blame] | 31 | * is the subject the correct format? It should start with the package path and a colon: "net/http: fix crash in Server during foo operation" |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 32 | * is it in a subrepo? Set the milestone to "Unreleased". Unless it's a subrepo that goes into a release, like godoc or http2. |
Josh Bleecher Snyder | 0994b0e | 2017-01-15 08:13:09 -0800 | [diff] [blame] | 33 | * if it is a regression and you can reproduce it, use git bisect to find the bad commit (optional but very helpful). |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 34 | |
Brad Fitzpatrick | 8e8702a | 2017-02-02 15:31:55 -0800 | [diff] [blame] | 35 | See https://golang.org/wiki/HandlingIssues for how we use Github's issue metadata. |
| 36 | |
Alexey Palazhchenko | be9de46 | 2017-01-25 18:42:35 +0300 | [diff] [blame] | 37 | ### WaitingForInfo |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 38 | |
Alexey Palazhchenko | be9de46 | 2017-01-25 18:42:35 +0300 | [diff] [blame] | 39 | Find bugs that are in state WaitingForInfo (https://github.com/golang/go/labels/WaitingForInfo) and ping them, remove the label when replies arrive, or close the bugs if a reply never arrived. |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 40 | |
Dmitri Shuralyov | 863e9c7 | 2017-02-09 00:41:55 -0500 | [diff] [blame] | 41 | ### "Unplanned" bugs |
Brad Fitzpatrick | 2232067 | 2017-01-31 10:12:29 -0800 | [diff] [blame] | 42 | |
Brad Fitzpatrick | 7d9e3ac | 2017-02-01 15:09:19 -0800 | [diff] [blame] | 43 | "Unplanned" issues have a habit of being neglected. Check out old ones and see if they're easily fixable (and can be moved to a Go1.n or Go 1.nMaybe milestone), or should be closed. |
Brad Fitzpatrick | 2232067 | 2017-01-31 10:12:29 -0800 | [diff] [blame] | 44 | |
Brad Fitzpatrick | 7bb9115 | 2017-02-01 15:27:41 -0800 | [diff] [blame] | 45 | These are the Unplanned bugs sorted by age, most stale ones first: https://github.com/golang/go/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20milestone%3AUnplanned%20sort%3Aupdated-asc%20-label%3AGo2%20-label%3ALanguageChange |
Dmitri Shuralyov | 863e9c7 | 2017-02-09 00:41:55 -0500 | [diff] [blame] | 46 | |
Brad Fitzpatrick | 5c78782 | 2017-01-06 15:58:31 -0800 | [diff] [blame] | 47 | ### Pending CLs |
Brad Fitzpatrick | 8e55d7f | 2017-01-06 13:08:22 -0800 | [diff] [blame] | 48 | |
| 49 | Review the format of commit messages and presence of tests and formatting of code and typos/grammar in incoming pending CLs. All of that can be done without determining the correctness of the change itself. See https://dev.golang.org/release for the list of pending CLs. |
| 50 | |
Brad Fitzpatrick | c4fa0a2 | 2017-01-06 15:58:08 -0800 | [diff] [blame] | 51 | Once it has a +1, the owner of that area can give it a +2. |
| 52 | |
| 53 | Read a +1 as meaning "triaged", or "not obviously wrong". If it has tests, is formatted properly (references a bug number, probably), and is ready for more review, give it a +1. |
| 54 | |
Brad Fitzpatrick | 922c95a | 2017-01-06 14:57:53 -0800 | [diff] [blame] | 55 | ### Pending CLs: ask about tests |
Brad Fitzpatrick | d6279c3 | 2017-01-06 13:32:56 -0800 | [diff] [blame] | 56 | |
| 57 | If a new CL arrives without a test, but could/should have a test, ask if they could add a test. Or suggest how. |
| 58 | |
Brad Fitzpatrick | 922c95a | 2017-01-06 14:57:53 -0800 | [diff] [blame] | 59 | ### Pending CLs: run TryBots |
Brad Fitzpatrick | d6279c3 | 2017-01-06 13:32:56 -0800 | [diff] [blame] | 60 | |
| 61 | If you have access (see https://golang.org/wiki/GerritAccess) to run the TryBots and you see a CL with plausible (and non-malicious) code, kick off the TryBots. (We've never seen malicious code trying to escape our TryBot sandboxes, but that's why it's not automatic yet. Please alert us if you see something.) |