This page lists all the actions done by the Autonag bot.
Introduction
Autofix checkers are executed every hour at *:15. Checkers without autofix are run every day. 14:00 Paris time. For now, security bugs aren't touched.
Rules
With autofix
Bug assigned but marked as UNCONFIRMED
| Purpose | Mitigate an issue in Bugzilla (bugs reported by new users are not tagged as NEW |
|---|---|
| Action | Change the status from UNCONFIRMED to ASSIGNED if there is an assignee |
| Example | Bug 1495908 |
| Code | assignee_but_unconfirmed.py |
Regression keyword is missing
| Purpose | Regression keyword is important to differentiate an actual defect |
|---|---|
| Action | Sets the regression keyword on bugs with the regression-range-wanted keyword is set |
| Example | Bug 1461034 |
| Code | has_regression_range_no_keyword.py |
Remove leave-open keyword on closed bug
| Purpose | Clean up a mismatch in metadata |
|---|---|
| Action | If a bug is closed but the leave-open keyword is still set, remove it |
| Example | Bug 1382185 |
| Code | leave_open.py |
[meta] in title but not in keywords
| Purpose | Improve metedata quality |
|---|---|
| Action | Adds the meta keyword if the bug title starts by [META] |
| Example | Bug 1435799 |
| Code | meta_summary_missing.py |
Update Firefox Status flags for bugs reopened during Nightly cycle
| Purpose | Avoids potential issues for sheriffs and release managers |
|---|---|
| Action | Set firefox-status flag back from fixed to affected |
| Example | Bug 1495962 |
| Code | nightly_reopened.py |
Bug with no assignee but a patch landed
| Purpose | Attribute unassigned bug to the developer that fixed it |
|---|---|
| Action | The ASSIGNEE field on the bug is changed from nobody@mozilla.org to the author of the patch that landed in mozilla-central |
| Example | Bug 1514338 |
| Code | no_assignee.py |
Close crash bugs with no crashes over 12 weeks
| Purpose | Reduce the backlog of bugs to check for Release Managers |
|---|---|
| Action | Crash bugs without any crash reports for more than 12 weeks |
| Example | Bug 1470864 |
| Code | no_crashes.py |
Remove stalled keyword on closed bugs
| Purpose | Fix inconsistency between metadata and bug status |
|---|---|
| Action | If a bug is marked as FIXED and also has a stalled keyword set, the keyword is removed |
| Example | Bug 1491624 |
| Code | stalled.py |
Has meta keyword but not [meta] in the bug title
| Purpose | Having [meta] in the bug title helps with quick search results |
|---|---|
| Action | If a bug has the meta keyword set, [meta] is added to the bug title |
| Example | Bug 1257692 |
| Code | summary_meta_missing.py |
Set a Firefox status flag for beta if there is one for nightly and release
| Purpose | Fix inconsistency in Firefox status flags that can lead to a bug going undetected by Release Managers during the beta cycle |
|---|---|
| Action | If a status exist for Firefox N-1 and for Firefox N+1, guess a value for Firefox N |
| Example | Bug 1500273 |
| Code | missing_beta_status.py |
Increase priority of bugs tracked y Release Managers
| Purpose | Priotitizes bugs needing an action for shipping quality software |
|---|---|
| Action | If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest) |
| Example | Bug 1515946,1508277,1512493 |
| Code | mismatch_priority_tracking_release.py |
| Note | There are multiple files mismatch-priority-tracking-*.py, one per channel |
Add regression keywords to bugs (uses Machine Learning)
| Purpose | Surface regressions not filed as such |
|---|---|
| Action | If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest) |
| Example | Bug 1529139 |
| Code | regression.py |
Move untriaged bug into the correct component (uses machine learning)
| Purpose | Decrease manual triagin time |
|---|---|
| Action | Uses machine learning to mass move bugs in Firefox::Untriaged into a better component |
| Example | Bug 1530316 |
| Code | component.py |
Copy crash signature from duplicate bugs to main bugs
| Purpose | Crash bugs marked as duplicate of another one may have a different crash signature. We need to consolidate all signatures in the bug where a patch to fix them is being worked on, other wise we may not fix them all |
|---|---|
| Action | If a crash bug is marked as a duplicate, the signatures it referenced are added to the new bug |
| Example | Bug 1517205 |
| Code | copy_duplicate_info.py |
Increase severity of bugs tracked by Release Managers
| Purpose | Fix inconsistency in metadata |
|---|---|
| Action | If a bug is tracked for an upcoming release but it's severity field is low, the severity is increased |
| Example | Bug 1538966 |
| Code | tracked_bad_severity.py |
Nag triage owner to set priority on bugs
| Purpose | Bugs with no priority set are harder to prioritize for Release Managers with regards to the release |
|---|---|
| Action | The triage owner is needinfoed in Bugzilla or nagged via email to set a priority on bugs |
| Example | Bug 1527818 |
| Code | workflow/no_priority.py |
Without autofix
Feature vs regression
| Purpose | Fix inconsistency in bugs with both the regression and feature keywords set |
|---|---|
| Action | No action yet |
| Code | feature_regression.py |
Inactive bugs with the leave-open keyword set
| Purpose | Help identify dead/inactive bugs |
|---|---|
| Action | Needinfo the triage owner if a bug is inactive but has the leave-open keyword set |
| Example | Bug 1367072 |
| Code | leave_open_no_activity.py |
Inactive Meta bugs
| Purpose | Help identify dead/inactive bugs |
|---|---|
| Action | Needinfo the triage owner if a meta bug has no activity and no dependencies set |
| Code | meta_no_deps_no_activity.py |
Low-severity bug but tracked by a release manager
| Purpose | Idenitfy mismatch in metadata, a tracked bug should not have a priotity lower than normal |
|---|---|
| Action | No action yet |
| Code | mismatch-priority-tracking.py |
Alert for lack of feedback in a bug
| Purpose | Increase reaction time on bugs prioritized by upper management or release managers |
|---|---|
| Action | If a bug as an unanswered NeedInfo request from a release manager or a director, send a warning email |
| Code | ni_from_manager.py |
Bugs with no priority and no activity
| Purpose | Triage owners need to process the backlog |
|---|---|
| Action | Needinfo the triage owner (only :Overholt for now) |
| Example | Bug 1503461 |
| Code | ni_triage_owner.py |
Bugs with only one or two words in the summary
| Purpose | Make sure the bug is actually useful, a two-words summary often indicates a poor quality bug report |
|---|---|
| Action | No action yet |
| Example | Bug 1512823 |
| Code | one_two_word_summary.py |
| Purpose | |
|---|---|
| Action | No action yet |
| Code | [1] |
| Purpose | |
|---|---|
| Action | No action yet |
| Code | [2] |
| Purpose | |
|---|---|
| Action | No action yet |
| Code | [3] |
| query_creator.py | Send reminders to developer with assigned tracked bugs | Make sure that bugs for the next release are addressed | Not yet | |- | reporter_with_ni.py | Identify bugs with needinfo on the reporter without activity | Usually a sign of a reporter not answering to more requests | Not yet | |- | topcrash_bad_severity.py | Topcrash bugs with normal severity | Consistency and help getting traction on bugs | Not yet | bug 1471692 |- | tracked_needinfo.py | Tracked or Nominated for Tracking with Need-Info? | Make sure that bugs for the next release are addressed | Email | |- | tracking.py | Get the tracked bugs in a release and untouched this week | Identify inactive bugs | Email | |- | unaffected_affected_no_reg.py | List bugs marked as non affecting a release but affecting the next one | Sign of a regression | Email | |- | unlanded.py | Patches which didn’t land on beta and esr | Make sure that we ship with the bugs that we need | Email | bug 1509394 |- | untriage_important_sev.py | Firfox/untriaged with an important severity | Identify potential important issues in untriage | Not yet | |- | version_affected.py | Bug with version set but not status_firefox | Version is set automatically by bugzilla but status_firefox isn’t | Email | |- | ../next_release.py | Check if the release dates are consistent on the Wiki pages | We use these dates in automation | Email | |- | code_freeze_week.py | Fixed bug with patches which landed in mozilla-central during the soft freeze week | Give some information like number of patches, number of changed lines, ... | Email | |- | missed_uplifts.py | Fixed bug in nightly with patches and beta or release affected. | Give some information about priority, severity, ... | Email | |- | newbie_with_ni.py | Bug where the reporter has a needinfo and with no activity | Help to identify probably unactionnable bugs because of lack of information | Email | |- | not_landed.py | Bug with a r+ patch but the patch didn't land. | Maybe a checkin-needed is required or the patch is obsolete | Email | |}