Process states¶
This overview aims to clarify the meaning of MIR bug states, address previous confusion, and indicate the next course of action on a MIR bug.
%% mermaid flowcharts documentation: https://mermaid.js.org/syntax/flowchart.html %%{ init: { "flowchart": { "curve": "monotoneY", "htmlLabels": true } } }%% flowchart TD %% Styles classDef Invisible stroke-width:0,fill:#00000000 %% States Unassigned["<b><i>1.</i> New / Confirmed¹<br>(unassigned)</b>"] AssignedToMirTeamMember["<b><i>2.</i> New / Confirmed¹<br>(assigned to<br>MIR team member)</b>"] AssignedToSecurityTeamMember["<b><i>3.</i> New / Confirmed¹<br>(assigned to<br>Security team)</b>"] WontFix[["<b><i>7.</i> Won't Fix</b>"]] InProgress["<b><i>4.</i> In Progress</b>"] FixCommitted["<b><i>5.</i> Fix Committed</b>"] FixReleased[["<b><i>6.</i> Fix Released</b>"]] Incomplete["<b><i>8.</i> Incomplete</b>"] Invalid[["<b><i>9.</i> Invalid</b>"]] %% Meta States Start((" ")):::Invisible BugCreated>"Bug created"] IsSecurityReviewNeeded{{"is Security Review needed"}} Reviewed{{"Reviewed<br><i>(report added as<br>bug comment)</i>"}} QuestionsArise>"Questions or Requests<br>arise"] %% Transitions Start-->|"create MIR bug<br>following the template"| BugCreated BugCreated-->|"subscribe Launchpad team<br><code>~ubuntu-mir</code> to the bug"|Unassigned Unassigned -->|"triaged at MIR team meeting"| AssignedToMirTeamMember AssignedToMirTeamMember --> IsSecurityReviewNeeded -->|"yes"| AssignedToSecurityTeamMember IsSecurityReviewNeeded -->|"no"| Reviewed AssignedToSecurityTeamMember --> Reviewed Reviewed -->|"MIR team NACK"| WontFix Reviewed -->|"MIR team ACK"| InProgress InProgress -->|"Dependency/Seed change that<br>pulls package(s) into <code>main</code>/<code>restricted</code>"| FixCommitted FixCommitted -->|"Archive Admin (AA)</br>promotes package(s)"| FixReleased AssignedToSecurityTeamMember --> QuestionsArise AssignedToMirTeamMember --> QuestionsArise QuestionsArise --> Incomplete Incomplete -->|"Questions or<br>Requests resolved"| Unassigned Incomplete -->|"no response by the bug<br>reporter/driver within 60 days"| Invalid
State |
Explanation |
---|---|
1. New / Confirmed[1] (unassigned) |
Bug is queued for assignment to an MIR team member |
2. New / Confirmed[1] (assigned to MIR team member) |
On the TODO list of the assigned MIR team member |
3. New / Confirmed[1] (assigned to Security team member) |
On the TODO list of the Security team member |
4. In Progress |
MIR team ACK (and if needed, Security team ACK) done, but now needs the Dependency / Seed change to happen to pull package(s) into |
5. Fix Committed |
All of the above done; waiting for an Archive Admin to promote the package(s) to |
6. Fix Released |
Case resolved by an Archive Admin |
7. Won’t Fix |
Final NACK from MIR team or bug reporter gave up |
8. Incomplete |
Questions / Requests were raised for the bug reporter to resolve / clarify |
9. Invalid[1] |
No response within 60 days when in |
10. Invalid[1] |
Not promoted to main by owning-team 2 years after MIR approval |
Note
All other states are undefined and should be resolved to one of the defined states -– otherwise they might be completely missed on the weekly checks.
Hint
Transitioning from 2./3. to 4./5./8.: The successor of assigned New
states depends (as seen by multiple arrows in the state diagram) on the
package(s) current state in the archive:
A NACK from the MIR or Security team will result in the
7. Won't Fix
state. A former reviewer will get unassigned. (If there is context to believe that there might be a follow up by the reporter the reviewer might remain assigned.)In case of an ACK from the MIR team (and, if required the Security team), if the package(s) is/are already tried to be pulled into
main
/restricted
then the next state is5. (Fix Committed)
, otherwise the next state is4. In Progress
. Seen in: