|
| 1 | +# Triage new issues/PRs on github |
| 2 | + |
| 3 | +This document shows the steps the Angular team is using to triage issues. |
| 4 | +The labels are used later on for planning releases. |
| 5 | + |
| 6 | +## Tips ## |
| 7 | + |
| 8 | +* install [github pr helper extension](https://github.com/petebacondarwin/github-pr-helper) and become 356% more productive |
| 9 | +* Label "resolution:*" |
| 10 | + * these tags can be used for labeling a closed issue/PR with a reason why it was closed. (we can add reasons as we need them, right there are only a few rejection reasons. it doesn't make sense to label issues that were fixed or prs that were merged) |
| 11 | + |
| 12 | + |
| 13 | +## Process ## |
| 14 | + |
| 15 | +1. Open list of [non triaged issues](https://github.com/angular/angular.js/issues?direction=desc&milestone=none&page=1&sort=created&state=open) |
| 16 | +1. Assign yourself: Pick an issue that is not assigned to anyone and assign it to you |
| 17 | +1. Assign milestone: |
| 18 | + * "Docs only" milestone - for documentation PR -> **Done**. |
| 19 | + * Current/next milestone - regressions |
| 20 | + * 1.2.x - everything else |
| 21 | +1. Label "GH: *" (to be automated via Mary Poppins) |
| 22 | + * PR - issue is a PR |
| 23 | + * issue - otherwise |
| 24 | +1. Bugs: |
| 25 | + * Label "Type: Bug" |
| 26 | + * Label "Type: Regression" - if the bug is a regression |
| 27 | + * Duplicate? - Check if there are comments pointing out that this is a dupe, if they do exist verify that this is indeed a dupe and close it and go to the last step |
| 28 | + * Reproducible? - Steps to reproduce the bug are clear, if not ask for clarification (ideally plunker or fiddle) |
| 29 | + * Reproducible on master? - http://code.angularjs.org/snapshot/ |
| 30 | + |
| 31 | +1. Non bugs: |
| 32 | + * Label "Type: Feature" or "Type: Chore" |
| 33 | + * Label "needs: breaking change" - if needed |
| 34 | + * Understandable? - verify if the description of the request is clear. if not ask for clarification |
| 35 | + * Goals of angular core? - Often new features should be implemented as a third-party module rather than an addition to the core. |
| 36 | + |
| 37 | +1. Label "component: *" |
| 38 | + * In rare cases, it's ok to have multiple components. |
| 39 | +1. Label "impact: *" |
| 40 | + * small - obscure issue affecting one or handful of developers |
| 41 | + * medium - impacts some usage patterns |
| 42 | + * large - impacts most or all of angular apps |
| 43 | +1. Label "complexity: *" |
| 44 | + * small - trivial change |
| 45 | + * medium - non-trivial but straightforward change |
| 46 | + * large - changes to many components in angular or any changes to $compile, ngRepeat or other "fun" components |
| 47 | +1. Label "PRs welcome" for "GH: issue" |
| 48 | + * if complexity is small or medium and the problem as well as solution are well captured in the issue |
| 49 | +1. Label "cla: yes" for "GH: PR": |
| 50 | + * otherwise prompt the contributor to sign the CLA |
| 51 | +1. Label "origin: google" for issues from Google |
| 52 | +1. Label "high priority" for security issues, major performance regressions or memory leaks |
| 53 | + |
| 54 | +1. Unassign yourself from the issue |
| 55 | + |
0 commit comments