app/buglists/reo.mjs (314 lines of code) (raw):
import * as BugList from "buglist";
/* eslint-disable camelcase */
export function init($container, ver) {
BugList.append({
id: `reo-${ver.name}-new`,
$container: $container,
title: `${ver.nightly} (${ver.title}) New Bugs`,
description:
"Bugs with all of the following:\n" +
"- regression keyword\n" +
`- status-firefox${ver.nightly} set to affected\n` +
`- status-firefox${ver.beta} set to any of unaffected ? ---\n` +
"Bugs with any of the following are ignored:\n" +
"- open NEEDINFO request\n" +
`- tracking-firefox${ver.nightly} is -\n` +
"- stalled or intermittent-failure keywords\n" +
"- within the Testing product\n" +
"Bugs are order by creation date, oldest first.",
query: {
classification: [
"Client Software",
"Components",
"Developer Infrastructure",
"Other",
"Server Software",
],
keywords: "regression",
keywords_type: "allwords",
resolution: "---",
f1: `cf_status_firefox${ver.nightly}`,
o1: "equals",
v1: "affected",
f2: "OP",
j2: "OR",
f3: `cf_status_firefox${ver.beta}`,
o3: "equals",
v3: "unaffected",
f4: `cf_status_firefox${ver.beta}`,
o4: "equals",
v4: "?",
f5: `cf_status_firefox${ver.beta}`,
o5: "equals",
v5: "---",
f6: "CP",
f7: "flagtypes.name",
o7: "notsubstring",
v7: "needinfo",
f8: `cf_tracking_firefox${ver.nightly}`,
o8: "notequals",
v8: "-",
f9: "product",
o9: "notequals",
v9: "Testing",
f10: "keywords",
o10: "nowordssubstr",
v10: "stalled,intermittent-failure",
},
});
BugList.append({
id: `reo-${ver.name}-new-ni`,
$container: $container,
template: "needinfo",
title: `${ver.nightly} (${ver.title}) New Bugs With NEEDINFO`,
description:
"Bugs with all of the following:\n" +
"- regression keyword\n" +
`- status-firefox${ver.nightly} set to affected\n` +
`- status-firefox${ver.beta} set to any of unaffected ? ---\n` +
"- open NEEDINFO request\n" +
"Bugs with any of the following are ignored:\n" +
`- tracking-firefox${ver.nightly} is -\n` +
"- stalled or intermittent-failure keywords\n" +
"- within the Testing product\n" +
"Bugs are order by needinfo date, oldest first.",
query: {
classification: [
"Client Software",
"Components",
"Developer Infrastructure",
"Other",
"Server Software",
],
keywords: "regression",
keywords_type: "allwords",
resolution: "---",
o1: "equals",
v1: "affected",
f1: `cf_status_firefox${ver.nightly}`,
j2: "OR",
f2: "OP",
f3: `cf_status_firefox${ver.beta}`,
o3: "equals",
v3: "unaffected",
f4: `cf_status_firefox${ver.beta}`,
o4: "equals",
v4: "?",
f5: `cf_status_firefox${ver.beta}`,
o5: "equals",
v5: "---",
f6: "CP",
f7: "flagtypes.name",
o7: "anywordssubstr",
v7: "needinfo",
f8: `cf_tracking_firefox${ver.nightly}`,
o8: "notequals",
v8: "-",
f9: "product",
o9: "notequals",
v9: "Testing",
f10: "keywords",
o10: "nowordssubstr",
v10: "stalled,intermittent-failure",
},
augment: (bug) => {
let nickSuffix = "";
let nameSuffix = "";
if (bug.needinfos[0].requestee === bug.triage_owner) {
nickSuffix = " (T)";
nameSuffix = " (Triage Owner)";
} else if (bug.needinfos[0].requestee === bug.creator) {
nickSuffix = " (R)";
nameSuffix = " (Reporter)";
}
bug.needinfo_nick = bug.needinfos[0].requestee_nick + nickSuffix;
bug.needinfo_name = bug.needinfos[0].requestee_name + nameSuffix;
bug.needinfo_date = bug.needinfos[0].date;
bug.needinfo_ago = bug.needinfos[0].ago;
bug.needinfo_epoch = bug.needinfos[0].epoch;
},
order: (a, b) => a.needinfo_epoch - b.needinfo_epoch,
});
BugList.append({
id: `reo-${ver.name}-carryover`,
$container: $container,
title: `${ver.nightly} (${ver.title}) Carry Over Bugs`,
description:
"Bugs with all of the following:\n" +
"- regression keyword\n" +
`- status-firefox${ver.nightly} set to affected\n` +
"Bugs with any of the following are ignored:\n" +
`- status-firefox${ver.beta} set to any of unaffected ? ---\n` +
"- open NEEDINFO request\n" +
`- tracking-firefox${ver.nightly} is -\n` +
"- stalled or intermittent-failure keywords\n" +
"- within the Testing product\n" +
"Bugs are order by unassigned, then by last updated (oldest first)",
query: {
classification: [
"Client Software",
"Components",
"Developer Infrastructure",
"Other",
"Server Software",
],
keywords: "regression",
keywords_type: "allwords",
resolution: "---",
f1: `cf_status_firefox${ver.nightly}`,
o1: "equals",
v1: "affected",
n2: "1",
j2: "OR",
f2: "OP",
o3: "equals",
v3: "unaffected",
f3: `cf_status_firefox${ver.beta}`,
f4: `cf_status_firefox${ver.beta}`,
o4: "equals",
v4: "?",
f5: `cf_status_firefox${ver.beta}`,
o5: "equals",
v5: "---",
f6: "CP",
o7: "notsubstring",
v7: "needinfo",
f7: "flagtypes.name",
f8: `cf_tracking_firefox${ver.nightly}`,
o8: "notequals",
v8: "-",
f9: "product",
o9: "notequals",
v9: "Testing",
f10: "keywords",
o10: "nowordssubstr",
v10: "stalled,intermittent-failure",
},
augment: (bug) => {
bug.assigned_sortkey = bug.assigned_to === "nobody@mozilla.org" ? 0 : 1;
},
order: (a, b) =>
a.assigned_sortkey - b.assigned_sortkey ||
a.updated_epoch - b.updated_epoch,
});
BugList.append({
id: `reo-${ver.name}-carryover-ni`,
$container: $container,
template: "needinfo",
title: `${ver.nightly} (${ver.title}) Carry Over Bugs With NEEDINFO`,
description:
"Bugs with all of the following:\n" +
"- regression keyword\n" +
`- status-firefox${ver.nightly} set to affected\n` +
"- open NEEDINFO request\n" +
"Bugs with any of the following are ignored:\n" +
`- status-firefox${ver.beta} set to any of unaffected ? ---\n` +
`- tracking-firefox${ver.nightly} is -\n` +
"- stalled or intermittent-failure keywords\n" +
"- within the Testing products\n" +
"Bugs are order by unassigned, then by needinfo date (oldest first)",
query: {
classification: [
"Client Software",
"Components",
"Developer Infrastructure",
"Other",
"Server Software",
],
keywords: "regression",
keywords_type: "allwords",
resolution: "---",
f1: `cf_status_firefox${ver.nightly}`,
o1: "equals",
v1: "affected",
n2: "1",
j2: "OR",
f2: "OP",
f3: `cf_status_firefox${ver.beta}`,
o3: "equals",
v3: "unaffected",
f4: `cf_status_firefox${ver.beta}`,
o4: "equals",
v4: "?",
f5: `cf_status_firefox${ver.beta}`,
o5: "equals",
v5: "---",
f6: "CP",
o7: "anywordssubstr",
v7: "needinfo",
f7: "flagtypes.name",
f8: `cf_tracking_firefox${ver.nightly}`,
o8: "notequals",
v8: "-",
f9: "product",
o9: "notequals",
v9: "Testing",
f10: "keywords",
o10: "nowordssubstr",
v10: "stalled,intermittent-failure",
},
augment: (bug) => {
bug.assigned_sortkey = bug.assigned_to === "nobody@mozilla.org" ? 0 : 1;
let nickSuffix = "";
let nameSuffix = "";
if (bug.needinfos[0].requestee === bug.triage_owner) {
nickSuffix = " (T)";
nameSuffix = " (Triage Owner)";
} else if (bug.needinfos[0].requestee === bug.creator) {
nickSuffix = " (R)";
nameSuffix = " (Reporter)";
}
bug.needinfo_nick = bug.needinfos[0].requestee_nick + nickSuffix;
bug.needinfo_name = bug.needinfos[0].requestee_name + nameSuffix;
bug.needinfo_date = bug.needinfos[0].date;
bug.needinfo_ago = bug.needinfos[0].ago;
bug.needinfo_epoch = bug.needinfos[0].epoch;
},
order: (a, b) =>
a.assigned_sortkey - b.assigned_sortkey ||
a.needinfo_epoch - b.needinfo_epoch,
});
BugList.append({
id: `reo-${ver.name}-burndown`,
$container: $container,
title: `${ver.nightly} (${ver.title}) Burndown List`,
description:
"Bugs with all of the following:\n" +
`- status-firefox${ver.nightly} is affected or optional\n` +
"- any of:\n" +
"\u00A0\u00A0- crash regression leak topcrash assertion dataloss keywords\n" +
"\u00A0\u00A0- in a security group\n" +
`\u00A0\u00A0- tracking-firefox${ver.nightly} is + ? or blocking\n` +
"Bugs with any of the following are ignored:\n" +
"- within the Testing product\n" +
"Bugs are order by creation date, oldest first.",
query: {
classification: [
"Client Software",
"Components",
"Developer Infrastructure",
"Other",
"Server Software",
],
resolution: "FIXED",
f1: `cf_status_firefox${ver.nightly}`,
o1: "anywords",
v1: "affected optional",
j2: "OR",
f2: "OP",
o3: "anywords",
v3: "crash regression leak topcrash assertion dataloss",
f3: "keywords",
f4: "bug_group",
o4: "substring",
v4: "sec",
f6: `cf_tracking_firefox${ver.nightly}`,
o6: "anywordssubstr",
v6: "+ ? blocking",
f7: "CP",
f9: "product",
o9: "notequals",
v9: "Testing",
},
});
}