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