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
{{ message }}
This repository was archived by the owner on Nov 19, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: src/contributor-guide/processing-workflow.md
+47-53Lines changed: 47 additions & 53 deletions
Original file line number
Diff line number
Diff line change
@@ -12,91 +12,90 @@ The purpose of these gates is to identify core technical issues common to all re
12
12
13
13
Issue gates are a series of steps that are run to make sure the issue has all the information needed to reproduce the bug. This includes system configurations, required Magento configurations, reproduction steps and any other required information.
14
14
15
-
* Gate 1: Automatic verification - an automated process that confirms that the issue contains all the required items.
16
-
* Gate 2: Manual verification - Someone manually confirms that all necessary information has been provided: steps to reproduce, sys configs.
15
+
* Gate 1: Verification of the report format - ensures that report content and structure meet all of our requirements.
16
+
* Gate 2: Manual verification - Someone manually confirms that all necessary information has been provided: steps to reproduce, system configs, etc.
17
17
* Gate 3: Reproduce the bug - Someone sets up a Magento environment and tries to reproduce the bug. The issue is then confirmed or closed.
18
18
19
-
### Gate 1 - Automatic verification
19
+
### Gate 1 - Verification of the report format
20
20
21
-
Gate 1 automatically verifies that the reported issue follows the [Issue Reporting Guidelines](https://github.com/magento/magento2/wiki/Issue-reporting-guidelines).
22
-
The reported issue must contain **all**the following keywords in the description section:
21
+
The main goal of this initial verification stage is to be sure that report has well-structured content according to the requirements from [Issue Reporting Guidelines](contributing.html#report). This stage looks trivial and formal but it will definitely affect processing speed. Generally, an issue that has the expected structure and clear information will be processed faster than the same report with a poor format.
22
+
The reported issue must contain **all** the following keywords in the description section:
23
23
24
24
*_Preconditions_
25
25
*_Steps to Reproduce_
26
26
*_Actual Result_
27
27
*_Expected Result_
28
28
29
-
**Results**:
30
-
31
-
* Label `Issue: Format is valid` is added if the issue passes the automatic format verification
32
-
* Label `Issue: Format is not valid` is added if the issue fails the automatic format verification
33
-
* Maintainer can fix the issue description and add missing information. Label `Progress: needs update` will be added. Reporter has 14 days to update the issue description; otherwise, we will close the issue.
34
-
* Maintainer can update the issue description format if sufficient information is provided.
29
+
A maintainer can request the reporter to update the issue description and provide additional information. The `Issue: needs update` label will be added. A reporter has 14 days to update the issue description; otherwise, the issue will be closed. The maintainer may update the issue description format if sufficient information is provided.
35
30
36
31
### Gate 2 - Manual verification
37
32
38
33
Gate 2 verifies a submitted issue is ready for development.
39
-
By the end of the process, it has been vetted for development including all labels for components, affected versions, and so on, reproduction steps are correct, and all the format passes automated review.
34
+
By the end of the process, it has been vetted for development including all labels for Functional Areas, Affected Versions, and so on. The reproduction steps are correct and the reported issue is a defect that should be fixed and not due to misuse or a misconfiguration.
40
35
41
-
**Supporting the Process**: Working on an issue report as a reporter, maintainer, or developer is always a commitment. It is beneficial for every participating party to monitor activity and comments on the ticket during it's lifetime, and provide necessary information or insights.
36
+
Working on an issue report as a reporter, maintainer, or developer is always a commitment. It is beneficial for every participating party to monitor activity and comments on the ticket during its lifetime, and provide any needed information or insights.
42
37
43
38
#### Preparation
44
39
45
-
Steps for reviewing the issue, verifying reproduction steps, and assigning a Maintainer to work it.
40
+
These are steps for reviewing the issue, verifying reproduction steps, and assigning a Maintainer to work it.
46
41
47
-
1.Maintainer picks a ticket from the GitHub tracker which is not yet processed. The recommended tool is [Community Backlog](https://github.com/magento/magento2/projects/20) Dashboard.
48
-
1.A maintainer reviews the list from "Ready for QA" column and selects an issue to begin processing.
42
+
1.A maintainer selects a ticket from the GitHub tracker which is not yet processed. The recommended tool is the [Issue Confirmation and Triage Board](https://github.com/magento/magento2/projects/23).
43
+
1.The maintainer reviews the list from the "Ready for Confirmation" column and selects an issue to begin processing.
49
44
1. After selecting the ticket, the maintainer checks the description and reproduction steps.
50
-
1. When the maintainer is ready to start processing the issue, the maintainer should assign the ticket to himself. This indicates someone is actively working on the issue.
45
+
1. When the maintainer is ready to start processing the issue, the maintainer should assign the ticket to him/her self. This indicates someone is actively working on the issue.
51
46
52
47
#### Validation
53
48
54
-
Steps for validating the issue format and all information provided checks out: described steps to reproduce are valid, expected behavior is valid, configuration described in preconditions is valid.
49
+
These are the steps for validating the issue format and all information provided checks out:
55
50
56
-
1. When the issue is entered, the Automated Contributor Assistant automatically checks the format and assigns one of the following labels after review: `Issue: Format is valid` or `Issue: Format is not valid`.
57
-
1. If the format is not valid (receives `Issue: Format is not valid`), the maintainer should read the report carefully and edit the issue to better match one of the required [templates](https://github.com/magento/magento2/tree/2.4-develop/.github/ISSUE_TEMPLATE). The maintainer edits the report content to comply with requirements.
58
-
1. After saving any changes, the Automated Contributor Assistant runs again and updates the format label (usually less than one minute).
59
-
1. A maintainer can select the issue and review all information, reproduction steps, etc. If the information is incomplete, the maintainer requests more information from the reporter and applies the label `Progress: needs update`. All work pauses on this ticket until the reporter provides more information.
60
-
1. If the ticket has enough information, the maintainer analyzes the problem described in the ticket: described steps to reproduce are valid, expected behavior is valid, configuration described in preconditions is valid.
51
+
1. When the issue is entered, verify that it meets all requirements from the [templates](https://github.com/magento/magento2/tree/2.4-develop/.github/ISSUE_TEMPLATE) and [Issue Reporting Guidelines](contributing.html#report).
52
+
1. If the format is not valid, the maintainer should read the report carefully and edit the issue to better match one of the required [templates](https://github.com/magento/magento2/tree/2.4-develop/.github/ISSUE_TEMPLATE).
53
+
1. The maintainer can select the issue and review all information, reproduction steps, etc. If the information is incomplete, the maintainer requests more information from the reporter and applies the label `Issue: needs update`. All work pauses on this ticket until the reporter provides more information.
54
+
1. If the ticket has enough information, the maintainer analyzes the problem described in the ticket: described steps to reproduce are valid, expected behavior is valid, the configuration described in preconditions is valid.
61
55
1. Is it validated?
62
56
63
-
* If all provided information is clear and sufficient, it is validated. The maintainer applies the `Issue: Clear description` label to indicate that ticket is ready for manual testing.
64
-
* If it is not validated, the maintainer adds the label `Progress: needs update` and requests more information from the reporter.
57
+
* If all provided information is clear and sufficient, it is validated.
58
+
* If it is not validated, the maintainer adds the label `Issue: needs update` and requests more information from the reporter.
65
59
66
60
### Gate 3: Reproduce the issue
67
61
68
62
In gate 3, the issue is reproduced in the code.
69
-
Be advised, we only accept pull requests for `2.4-develop`.
63
+
Currently, we only accept pull requests for the `2.4-develop` branch.
70
64
71
-
1.Maintainer checks if the issue exists on the `2.4-develop` branch with a clean installation, configured by described preconditions, following the exact reproduction steps.
65
+
1.The maintainer checks if the issue exists on the `2.4-develop` branch with a clean installation, configured by the described preconditions, and following the exact reproduction steps.
72
66
73
-
* If the described behavior **was** reproduced, the maintainer should apply the `Reproduced on 2.4` label to the ticket, indicating that issue was reproduced and specific version.
74
-
* If the issue **was not** reproducible with`2.4-develop`, the maintainer should close the issue and **stop verification process here!**
67
+
* If the described behavior **is** reproduced, the maintainer should apply the `Reproduced on 2.4` label to the ticket, indicating that issue was reproduced and specific version.
68
+
* If the issue **is not** reproducible on`2.4-develop`, the maintainer should close the issue and **stop the verification process here**.
75
69
76
-
1. If steps required to reproduce were different from the initially described reproduction steps, update the ticket description with the actual information.
77
-
1. Based on the verification flow, add at least one or more `Component: xxx` labels to the issue. See [Magento Components Assignment](https://github.com/magento/magento2/wiki/Magento-Components-Assignment) for a list. Use your best judgment to determine the components affected.
70
+
1. If the steps required to reproduce the issue are different from the initially described reproduction steps, update the ticket description with the actual steps.
71
+
1. Based on the verification flow, add only one `Area: xxx` label to the issue. Use your best judgment to determine the functional area affected.
72
+
1. (optional if possible) Based on the original issue report add one `Reported on: XXX` label to indicate the original Magento Open Source version for the Issue report.
78
73
79
74
## Finalization
80
75
81
-
Steps for final review of issue for contributors/developers to work the issue.
76
+
Steps for final review of an issue for contributors/developers to work the issue.
82
77
83
78
1. Please make sure that all required conditions are met:
84
-
*[ ] Issue format is considered valid by automatic system.
85
-
*[ ] Issue is reproducible at least with one of the supported versions and labeled appropriately.
86
-
*[ ] At least one `Component` label(s) applied to the ticket.
79
+
*[ ] Issue format is valid.
80
+
*[ ] Issue is reproducible with one of the supported versions and labeled appropriately.
81
+
*[ ]`Area: XXX` is label applied to the ticket.
82
+
*[ ] (optional if possible) `Reported on: XXX` label is applied to the ticket.
83
+
*[ ] (optional if possible) `Severity: XX` label is applied to the ticket. See more in [Community Backlog Priority](contributing.html#backlog)
84
+
87
85
1. Add the label `Issue: Confirmed` to the ticket.
88
-
1. Wait for the response from the Automated Contributor Assistant, which normally takes 30-60 seconds.
89
-
1. If all required information was provided Automated Contributor Assistant will apply label `Issue: Ready for work`and comment with reference ticket numbers. Otherwise, label `Issue: Confirmed` will be removed and information on what's missing in the report will be provided to the maintainer.
86
+
1. Wait for a response from the Automated Contributor Assistant, which normally takes 30-60 seconds.
87
+
1. If all required information was provided Automated Contributor Assistant will comment with reference ticket numbers and link in the internal backlog. Otherwise, the label `Issue: Confirmed` will be removed and information on what is missing in the report will be provided to the maintainer.
90
88
1. Un-assign the ticket from yourself so that developers can claim the issue and start development.
91
89
92
-
If the issue was reproduced on`Gate 3`, we’ll create an internal`MAGETWO`ticket to track the progress of the issue.
90
+
If the issue was reproduced on`Gate 3`, we will create an internal`AC-XXXX`ticket to track the progress of the issue.
93
91
94
-
Once an issue has been acknowledged, either Magento core developers or Magento community developers may fix it. We encourage everyone to join the Magento Community Contribution Team and submit Pull Request with the bug fix to [magento/magento2](https://github.com/magento/magento2/pulls) repository.
92
+
Once an issue has been acknowledged and confirmed, it goes through the Triage Process and be [prioritized(triaged)](contributing.html#backlog).
93
+
After triage, either Magento core developers or Magento community developers may fix it. We encourage everyone to join the Magento Community Contribution Team and submit Pull Request with the bug fix to [magento/magento2](https://github.com/magento/magento2/pulls) repository.
95
94
96
95
## Tips and tricks
97
96
98
-
* If you need a proper testing environment, a verification instance with limited capabilities may be [requested](https://devdocs.magento.com/guides/v2.4/contributor-guide/contributing.html#contributor-assist) from the Automated Contributor Assistant.
99
-
* In most of the cases, we don't recommend verifying issues on older patch versions, even if it was supplied in the preconditions. Generally, fixes can only be provided with the next patch version, and not with any of the older patches.
97
+
* If you need a proper testing environment, a verification instance with limited capabilities may be [requested](contributing.html#vanilla-pr) from the Automated Contributor Assistant.
98
+
* In most cases, we do not recommend verifying issues on older patch versions, even if it was supplied in the preconditions. Generally, fixes can only be provided with the next patch version, and not with any of the older patches.
100
99
* Always follow the [Code of Conduct](https://github.com/magento/magento2/blob/2.4-develop/.github/CODE_OF_CONDUCT.md) in issue comments and discussions.
101
100
102
101
## Glossary
@@ -105,23 +104,18 @@ The following terms help define the process:
105
104
106
105
*`Reporter` – User who filed initial issue report.
107
106
*`Maintainer` – User a member of Community Maintainers Team who is and working on the issue report to update and confirm report in accordance with all requirements.
108
-
*`Automated Contributor Assistant` – Non-human user that performs automatic checks and provides assistance to human users.
107
+
*`Automated Contributor Assistant` – Non-human users/bots that perform automatic checks and provide assistance to human users.
109
108
*`Label` – GitHub label applied to the ticket.
110
109
111
110
Label descriptions:
112
111
113
-
*`Issue: Format is valid` – label assigned when the issue report content has all required [fields](https://github.com/magento/magento2/tree/2.4-develop/.github/ISSUE_TEMPLATE). This label is controlled by Automated Contributor Assistant.
114
-
*`Issue: Format is not valid` – Label assigned when the issue report content does not match the [format](https://github.com/magento/magento2/tree/2.4-develop/.github/ISSUE_TEMPLATE) or content required for issues. This label is controlled by Automated Contributor Assistant.
115
-
*`Issue: Clear Description` – Label assigned when human proof-reads the issue report and confirms that it is meaningful and may be sufficient to reproduce the issue.
116
-
*`Issue: Confirmed` – Label assigned when the Maintainer reproduced the issue with at least one of active Magento release lines.
117
-
*`Issue: Ready for Work` – Label assigned by the Automated Contributor Assistant, when ticket was added to Magento's internal issue tracker.
112
+
*`Issue: Confirmed` – Label assigned when the Maintainer reproduced the issue using the latest `2.4-develop` branch.
118
113
*`Issue: Cannot reproduce` – Label assigned when the described issue is not reproducible by the described scenario or reproduction steps.
119
-
*`non-issue` – Label assigned when the described behavior in the report is correct, expected behavior and not an issue. <!-- was Issue: Not a bug -->
120
-
*`Component: xxx` – Multitude of labels indicating Magento components that may be the origin of the issue. There is a specific label for each major component. For edge cases, `Component: Other` and `Component: Multiple` may be used. See [Magento Components Assignment](https://github.com/magento/magento2/wiki/Magento-Components-Assignment) for a list.
121
-
*`Reproduced on 2.x` - Label indicating the release line where the Maintainer can reproduce the issue.
122
-
*`Progress: needs update` – Label indicating that the issue is pending a response from the reporter.
123
-
124
-
For additional labels, see the [Contributor's Guide](https://devdocs.magento.com/guides/v2.4/contributor-guide/contributing.html#labels).
114
+
*`non-issue` – Label assigned when the described behavior in the report is correct, expected behavior, and not an issue.
115
+
*`Area: xxx` – Labels indicating Magento Open Source functional area that may be the origin of the issue. There is a specific label for each major area.
116
+
*`Reproduced on 2.4.x` - Label indicating the release line where the Maintainer can reproduce the issue.
117
+
*`Issue: needs update` – Label indicating that the issue is pending a response from the reporter.
118
+
*`Reported on 2.x.x` - Label indicating original Magento Open Source version for the Issue report.
0 commit comments