app/buglists/regressions.mjs (141 lines of code) (raw):
import * as BugList from "buglist";
import * as Global from "global";
/* eslint-disable camelcase */
export function init($container) {
const releases = Global.releaseData();
const versions = [
{
name: "nightly",
title: "Nightly",
release: releases.release.version,
beta: releases.beta.version,
nightly: releases.nightly.version,
},
{
name: "beta",
title: "Beta",
release: releases.release.version - 1,
beta: releases.beta.version - 1,
nightly: releases.nightly.version - 1,
},
{
name: "release",
title: "Release",
release: releases.release.version - 2,
beta: releases.beta.version - 2,
nightly: releases.nightly.version - 2,
},
];
for (const ver of versions) {
BugList.append({
id: `regressions-${ver.name}-new`,
$container: $container,
title: `${ver.nightly} (${ver.title}) New Regressions`,
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" +
"Bugs are order by last updated, oldest first.\n" +
"Timestamp shows last modified.",
query: {
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: "keywords",
o9: "nowordssubstr",
v9: "stalled,intermittent-failure",
},
usesComponents: true,
augment: (bug) => {
bug.timestamp_ago = bug.updated_ago;
bug.timestamp = bug.updated;
},
order: (a, b) => a.updated_epoch - b.updated_epoch,
});
BugList.append({
id: `regressions-${ver.name}-carryover`,
$container: $container,
title: `${ver.nightly} (${ver.title}) Carry Over Regressions`,
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" +
"Bugs are order by last updated, oldest first.\n" +
"Timestamp shows last modified.",
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: "keywords",
o9: "nowordssubstr",
v9: "stalled,intermittent-failure",
},
usesComponents: true,
augment: (bug) => {
bug.timestamp_ago = bug.updated_ago;
bug.timestamp = bug.updated;
},
order: (a, b) => a.updated_epoch - b.updated_epoch,
});
}
}