regressions.rst (2162B)
1 How to Mark Regressions 2 ======================= 3 4 Regressions 5 ----------- 6 7 For regression bugs in Mozilla-Central, our policy is to tag the bug as 8 a regression, identify the commits which caused the regression, then 9 mark the bugs associated with those commits as causing the regression. 10 11 What is a regression? 12 --------------------- 13 14 A regression is a bug (in our scheme a ``defect``) introduced by a 15 `changeset <https://en.wikipedia.org/wiki/Changeset>`__. 16 17 - Bug 101 *fixes* Bug 100 with Change Set A 18 - Bug 102 *reported which describes previously correct behavior now not 19 happening* 20 - Bug 102 *investigated and found to be introduced by Change Set A* 21 22 Marking a Regression Bug 23 ------------------------ 24 25 These things are true about regressions: 26 27 - **Bug Type** is ``defect`` 28 - **Keywords** include ``regression`` 29 - **Status_FirefoxNN** is ``affected`` for each version (in current 30 nightly, beta, and release) of Firefox in which the bug was found 31 - The bug’s description covers previously working behavior which is no 32 longer working 33 34 Until the change set which caused the regression has been found through 35 `mozregression <https://mozilla.github.io/mozregression/>`__ or another 36 bisection tool, the bug should also have the ``regressionwindow-wanted`` 37 keyword. 38 39 Once the change set which caused the regression has been identified, 40 remove the ``regressionwindow-wanted`` keyword and set the **Regressed 41 By** field to the id of the bug associated with the change set. 42 43 Setting the **Regressed By** field will update the **Regresses** field 44 in the other bug. 45 46 Set a needinfo for the author of the regressing patch asking them to fix 47 or revert the regression. 48 49 Previous Method 50 --------------- 51 52 Previously we over-loaded the **Blocks** and **Blocked By** fields to 53 track the regression, setting **Blocks** to the id of the bug associated 54 with the change set causing the regression, and using the 55 ``regression``, ``regressionwindow-wanted`` keywords and the status 56 flags as described above. 57 58 This made it difficult to understand what was a dependency and what was 59 a regression when looking at dependency trees in Bugzilla. 60 61 FAQs 62 ---- 63 64 *To be written*