|
|
| (7 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| {{ DISPLAYTITLE:Autonag, our bugzilla automatic triage bot and alerting system }}
| | I started getting involved in Mozilla in 2000 heping end users on Usenet, then in 2001 as part of the Netscape Champions program creating documentation and ending our first end users with Netscape Communicator and Mozilla Suite via the creation of onlibne documentation. I later got involved in our early Web Compat initiative. |
|
| |
|
| <p style="font-size: larger; font-weight:bold;">
| | I was a Mozilla Europe not for profit founder and built European marketing and localization communities for Firefox in the early 2000s, around a website in 27 languages that generated 200,000 downloads per day for Firefox in Europe during 7 years. |
| This page lists all the actions done by the [https://github.com/mozilla/relman-auto-nag/tree/master/auto_nag/scripts Autonag bot].</p>
| |
|
| |
|
| = Introduction =
| | I also was the Mozilla Spokesperson for Spain for a few years and helped organize our early participation to FOSDEM and dozen of open source events in France and Spain on a shoo-string budget. |
| 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 =
| | I created or helped create several large-scale community websites for the French and Spanish communities (FrenchMozilla, MozFr, MozillaES, Mozilla-Hispano). I am still maintaining MozFr.org with French volunteers. |
| == With autofix ==
| |
|
| |
|
| {{AutonagRule
| | From 2002 to 2016 I worked on creating a localization community from scratch as Mozilla websites and software were only available in English, first as a volunteer, then as a FTE in 2006 and later as one of the first European employees in 2008. I managed the localization of mozilla.org, multiple marketing sites and official extensions translated in 80+ languages with hundreds of volunteer translators. I was also the tech lead for a QA tool used by localizers called [https://transvision.mozfr.org/ Transvision] (an equivalent of searchfox but for translators). |
| | Rule name = Bug assigned but marked as <code>UNCONFIRMED</code>
| |
| | Purpose = Mitigate an issue in Bugzilla (bugs reported by new users are not tagged as <code>NEW</code>
| |
| | Action = Change the status from <code>UNCONFIRMED</code> to <code>ASSIGNED</code> if there is an assignee
| |
| | Example = 1495908
| |
| | Source = assignee_but_unconfirmed.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = Regression keyword is missing
| |
| | Purpose = Regression keyword is important to differentiate an actual defect
| |
| | Action = Sets the <code>regression</code> keyword on bugs with the <code>regression-range-wanted</code> keyword is set
| |
| | Example = 1461034
| |
| | Source = has_regression_range_no_keyword.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = Remove <code>leave-open</code> keyword on closed bug
| |
| | Purpose = Clean up a mismatch in metadata
| |
| | Action = If a bug is closed but the <code>leave-open</code> keyword is still set, remove it
| |
| | Example = 1382185
| |
| | Source = leave_open.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = [meta] in title but not in keywords
| |
| | Purpose = Improve metedata quality
| |
| | Action = Adds the <code>meta</code> keyword if the bug title starts by [META]
| |
| | Example = 1435799
| |
| | Source = meta_summary_missing.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = Update Firefox Status flags for bugs reopened during Nightly cycle
| |
| | Purpose = Avoids potential issues for sheriffs and release managers
| |
| | Action = Set <code>firefox-status</code> flag back from ''fixed'' to ''affected''
| |
| | Example = 1495962
| |
| | Source = nightly_reopened.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = 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 = 1514338
| |
| | Source = no_assignee.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = 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 = 1470864
| |
| | Source = no_crashes.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = Remove <code>stalled</code> keyword on closed bugs
| |
| | Purpose = Fix inconsistency between metadata and bug status
| |
| | Action = If a bug is marked as <code>FIXED</code> and also has a <code>stalled</code> keyword set, the keyword is removed
| |
| | Example = 1491624
| |
| | Source = stalled.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = 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 = 1257692
| |
| | Source = summary_meta_missing.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = 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 = 1500273
| |
| | Source = missing_beta_status.py
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = 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 = 1515946,1508277,1512493
| |
| | Source = mismatch_priority_tracking_release.py
| |
| | Note = There are multiple files mismatch-priority-tracking-*.py, one per channel
| |
| }}
| |
| {{AutonagRule
| |
| | Rule name = Add <code>regression</code> 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 = 1529139
| |
| | Source = regression.py
| |
| }}
| |
|
| |
|
| | component.py
| | In 2016, I created the Firefox Nightly channel Reboot program so as to improve our release quality from the earliest stages with the help of our core community. Follow us on: |
| | Bug in untriaged
| |
| | Move the bug into the right component. Uses machine learning
| |
| | {{bug|1530316}}
| |
| |-
| |
| | copy_duplicate_info.py
| |
| | Bug resolved as duplicate
| |
| | Copy crash signatures from dup bug to original bug and copy product/component from original t dup.
| |
| | {{bug|1517205}}
| |
| |-
| |
| | tracked_bad_severity.py
| |
| | Bug tracked by release managers but small severity
| |
| | Inconsistency in metadata
| |
| | {{bug|1538966}}
| |
| |-
| |
| | workflow/no_priority.py
| |
| | Bug with no priority set.
| |
| | Needinfo or nag triage owner to set priority.
| |
| | {{bug|1527818}}
| |
| |}
| |
|
| |
|
| == Without autofix ==
| | * https://x.com/FirefoxNightly |
| {| class="wikitable"
| | * https://blog.nightly.mozilla.org/ |
| |-
| | * https://mozilla.social/@FirefoxNightly |
| ! File
| |
| ! Rules
| |
| ! Why
| |
| ! Action
| |
| ! Example
| |
| |-
| |
| | feature_regression.py
| |
| | the bug with both feature and regression keywords
| |
| | Mismatch in metadata
| |
| | Not yet
| |
| |
| |
| |-
| |
| | leave_open_no_activity.py
| |
| | Has the leave-open keyword but no activity for a while
| |
| | Help identify dead/inactive bugs
| |
| | Needinfo to triage owner
| |
| | {{Bug|1367072}}
| |
| |-
| |
| | meta_no_deps_no_activity.py
| |
| | Meta bug without open dependencies and no activity
| |
| | Help identify dead/inactive bugs
| |
| | Needinfo to triage owner
| |
| |
| |
| |-
| |
| | mismatch-priority-tracking.py
| |
| | A bug is tracked by release management but the severity is small (<normal)
| |
| | Mismatch in metadata
| |
| | Not yet
| |
| |
| |
| |-
| |
| | ni_from_manager.py
| |
| | Bugs with a ni from a director or a release manager and no activity
| |
| | We need to have fast turn around on bugs
| |
| | Mail
| |
| |
| |
| |-
| |
| | ni_triage_owner.py
| |
| | Bugs with no priority and no activity
| |
| | Triage owners need to process the backlog
| |
| | Needinfo to triage owner (only Andrew for now)
| |
| | {{bug|1503461}}
| |
| |-
| |
| | one_two_word_summary.py
| |
| | Bugs with only one or two words in the summary
| |
| | usually a sign of an useless bug
| |
| | Not yet
| |
| | {{bug|1512823}}
| |
| |-
| |
| | 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
| |
| |
| |
| |}
| |
|
| |
|
| [[category:Release_Management|Autonag]] | | Since 2018 I am a Firefox Release Manager. As part of this role I created and maintain the [https://whattrainisitnow.com/ What Train Is It Now ?] website. |
| | |
| | Late 2023 I restarted an initiative to rebuild a Spanish (Spain, not the language) community from scratch, join us on https://matrix.to/#/#spain:mozilla.org |
I started getting involved in Mozilla in 2000 heping end users on Usenet, then in 2001 as part of the Netscape Champions program creating documentation and ending our first end users with Netscape Communicator and Mozilla Suite via the creation of onlibne documentation. I later got involved in our early Web Compat initiative.
I was a Mozilla Europe not for profit founder and built European marketing and localization communities for Firefox in the early 2000s, around a website in 27 languages that generated 200,000 downloads per day for Firefox in Europe during 7 years.
I also was the Mozilla Spokesperson for Spain for a few years and helped organize our early participation to FOSDEM and dozen of open source events in France and Spain on a shoo-string budget.
I created or helped create several large-scale community websites for the French and Spanish communities (FrenchMozilla, MozFr, MozillaES, Mozilla-Hispano). I am still maintaining MozFr.org with French volunteers.
From 2002 to 2016 I worked on creating a localization community from scratch as Mozilla websites and software were only available in English, first as a volunteer, then as a FTE in 2006 and later as one of the first European employees in 2008. I managed the localization of mozilla.org, multiple marketing sites and official extensions translated in 80+ languages with hundreds of volunteer translators. I was also the tech lead for a QA tool used by localizers called Transvision (an equivalent of searchfox but for translators).
In 2016, I created the Firefox Nightly channel Reboot program so as to improve our release quality from the earliest stages with the help of our core community. Follow us on:
Since 2018 I am a Firefox Release Manager. As part of this role I created and maintain the What Train Is It Now ? website.
Late 2023 I restarted an initiative to rebuild a Spanish (Spain, not the language) community from scratch, join us on https://matrix.to/#/#spain:mozilla.org