Bug 1712150 - take branches into account in release-started email notification. r=releng-reviewers,aki

Instead of using the pushlog, grab the hg log using a revset to avoid
being confused by branches: we're looking for revisions that are
ancestors of the new revision but not of the previous tag, i.e.
"current % previous".

Differential Revision: https://phabricator.services.mozilla.com/D115624
This commit is contained in:
Julien Cristau 2021-05-21 12:51:41 +00:00
parent 7486a6ee43
commit 1c67430110
2 changed files with 86 additions and 169 deletions

View File

@ -22,7 +22,7 @@ BUGZILLA_BUGLIST_TEMPLATE = "https://bugzilla.mozilla.org/buglist.cgi?bug_id={bu
BUG_NUMBER_REGEX = re.compile(r"bug \d+", re.IGNORECASE)
CHANGELOG_TO_FROM_STRING = "{product}_{version}_RELEASE"
CHANGESET_URL_TEMPLATE = (
"{repo}/{logtype}" "?fromchange={from_version}&tochange={to_version}&full=1"
"{repo}/{logtype}" "?rev={to_version}+%25+{from_version}&revcount=1000"
)
FULL_CHANGESET_TEMPLATE = "* [Full Mercurial changelog]({url})\n"
LIST_DESCRIPTION_TEMPLATE = "Comparing Mercurial tag {from_version} to {to_version}:\n"
@ -66,7 +66,7 @@ def create_bugs_url(product, current_version, current_revision, repo=None):
repo=repo,
from_version=previous_version_tag,
to_version=current_revision,
logtype="json-pushes",
logtype="json-log",
)
)
changeset_data = resp.json()
@ -91,7 +91,7 @@ def create_bugs_url(product, current_version, current_revision, repo=None):
repo=repo,
from_version=previous_version_tag,
to_version=current_revision,
logtype="pushloghtml",
logtype="log",
)
description += FULL_CHANGESET_TEMPLATE.format(url=changeset_html)
@ -106,21 +106,20 @@ def create_bugs_url(product, current_version, current_revision, repo=None):
def get_bugs_in_changeset(changeset_data):
unique_bugs, unique_backout_bugs = set(), set()
for data in changeset_data.values():
for changeset in data["changesets"]:
if is_excluded_change(changeset):
continue
for changeset in changeset_data["entries"]:
if is_excluded_change(changeset):
continue
changeset_desc = changeset["desc"]
bug_re = BUG_NUMBER_REGEX.search(changeset_desc)
changeset_desc = changeset["desc"]
bug_re = BUG_NUMBER_REGEX.search(changeset_desc)
if bug_re:
bug_number = bug_re.group().split(" ")[1]
if bug_re:
bug_number = bug_re.group().split(" ")[1]
if is_backout_bug(changeset_desc):
unique_backout_bugs.add(bug_number)
else:
unique_bugs.add(bug_number)
if is_backout_bug(changeset_desc):
unique_backout_bugs.add(bug_number)
else:
unique_bugs.add(bug_number)
return unique_bugs, unique_backout_bugs

View File

@ -1,176 +1,94 @@
{
"0": {
"changesets": [
{
"desc": "Bug 1354038 - [push-apk] taskgraph: Use rollout and deactivate dry-run on release p=jlorenzo r=aki a=release DONTBUILD"
}
]
"entries": [
{
"desc": "Bug 1354038 - [push-apk] taskgraph: Use rollout and deactivate dry-run on release p=jlorenzo r=aki a=release DONTBUILD"
},
"1": {
"changesets": [
{
"desc": "Bug 1356563 - Only set global ready state on native widget loading; r=snorp a=sylvestre\n\nOur \"chrome-document-loaded\" observer may detect several different types\nof widgets that can exist in the parent process, including the Android\nnsWindow, PuppetWidget, etc. We should only set the global state to\nready when the first top-level nsWindow has loaded, and not just any\nwindow."
}
]
{
"desc": "Bug 1356563 - Only set global ready state on native widget loading; r=snorp a=sylvestre\n\nOur \"chrome-document-loaded\" observer may detect several different types\nof widgets that can exist in the parent process, including the Android\nnsWindow, PuppetWidget, etc. We should only set the global state to\nready when the first top-level nsWindow has loaded, and not just any\nwindow."
},
"2": {
"changesets": [
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-305 - a=blocklist-update"
}
]
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-305 - a=blocklist-update"
},
"3": {
"changesets": [
{
"desc": "Automatic version bump. CLOSED TREE NO BUG a=release"
},
{
"desc": "No bug - Tagging d345b657d381ade5195f1521313ac651618f54a2 with FIREFOX_53_0_BUILD6, FIREFOX_53_0_RELEASE a=release CLOSED TREE"
}
]
{
"desc": "Automatic version bump. CLOSED TREE NO BUG a=release"
},
"4": {
"changesets": [
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-305 - a=blocklist-update"
}
]
{
"desc": "No bug - Tagging d345b657d381ade5195f1521313ac651618f54a2 with FIREFOX_53_0_BUILD6, FIREFOX_53_0_RELEASE a=release CLOSED TREE"
},
"5": {
"changesets": [
{
"desc": "Bug 1344529 - Remove unused variable in widget/gtk/gtk2drawing.c. r=frg a=release DONOTBUILD in a CLOSED TREE"
},
{
"desc": "Bug 1306543 - Avoid using g_unicode_script_from_iso15924 directly. r=jfkthame a=release in a CLOSED TREE DONTBUILD"
}
]
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-305 - a=blocklist-update"
},
"6": {
"changesets": [
{
"desc": "Bug 1320072 - Backout intent change - broke partner Google test. r=snorp, a=lizzard"
}
]
{
"desc": "Bug 1344529 - Remove unused variable in widget/gtk/gtk2drawing.c. r=frg a=release DONOTBUILD in a CLOSED TREE"
},
"7": {
"changesets": [
{
"desc": "Bug 1328762 - Cherry-pick ANGLE a4aaa2de57dc51243da35ea147d289a21a9f0c49. a=lizzard\n\nMozReview-Commit-ID: WVK0smAfAW"
},
{
"desc": "Bug 1341190 - Remove .popup-anchor visibility rule. r=mconley, a=lizzard\n\nMozReview-Commit-ID: DFMIKMMnLx5"
},
{
"desc": "Bug 1348409 - Stop supporting the showDialog argument for window.find. r=mrbkap, a=lizzard\n\nThe dialog functionality of the non-standard window.find API has been broken\nwith e10s since it shipped, and bug 1182569 or bug 1232432 (or both) have\nbroken it for non-e10s.\n\nThis patch remove showDialog support entirely, for both e10s and non-e10s,\nin a more deliberate way. We now ignore the argument.\n\nMozReview-Commit-ID: 1CTzgEkDhHW"
},
{
"desc": "Bug 1358089 - [RTL] Separate xml drawable into v17 folder. r=ahunt, a=lizzard\n\nMozReview-Commit-ID: LaOwxXwhsHA"
},
{
"desc": "Bug 1360626 - Create a blacklist for adaptive playback support. r=jolin, a=lizzard\n\nOn some devices / os combinations, enabling adaptive playback causes decoded frame unusable.\nIt may cause the decode frame to be black and white or return tiled frames.\nSo we should do the blacklist according to the report.\n\nMozReview-Commit-ID: j3PZXTtkXG"
}
]
{
"desc": "Bug 1306543 - Avoid using g_unicode_script_from_iso15924 directly. r=jfkthame a=release in a CLOSED TREE DONTBUILD"
},
"8": {
"changesets": [
{
"desc": "Bug 1354038 - part2: [push-apk] taskgraph: Use rollout and deactivate dry-run on release r=aki a=bustage DONTBUILD\n\nMozReview-Commit-ID: 1f22BcAZkvp"
}
]
{
"desc": "Bug 1320072 - Backout intent change - broke partner Google test. r=snorp, a=lizzard"
},
"9": {
"changesets": [
{
"desc": "bug 1354038 - empty commit to force builds. a=release"
}
]
{
"desc": "Bug 1328762 - Cherry-pick ANGLE a4aaa2de57dc51243da35ea147d289a21a9f0c49. a=lizzard\n\nMozReview-Commit-ID: WVK0smAfAW"
},
"10": {
"changesets": [
{
"desc": "Bug 1337861 - [Fennec-Relpro] Enforce the presence of $MOZ_BUILD_DATE r=jlund a=release\n\nMozReview-Commit-ID: DzEeeYQjwLW"
}
]
{
"desc": "Bug 1341190 - Remove .popup-anchor visibility rule. r=mconley, a=lizzard\n\nMozReview-Commit-ID: DFMIKMMnLx5"
},
"11": {
"changesets": [
{
"desc": "Bug 1332731 - Follow-up to fix accessibility breakage. r=sebastian, a=lizzard\n\nFollow-up to fix breakage in accessibility caused by the bundle\nconversion. In particular, optString(foo) should have been converted to\ngetString(foo, \"\") because optString returns \"\" by default.\n\nAlso fix a small bug in Presentation.jsm where an array or null should\nbe used instead of a string."
}
]
{
"desc": "Bug 1348409 - Stop supporting the showDialog argument for window.find. r=mrbkap, a=lizzard\n\nThe dialog functionality of the non-standard window.find API has been broken\nwith e10s since it shipped, and bug 1182569 or bug 1232432 (or both) have\nbroken it for non-e10s.\n\nThis patch remove showDialog support entirely, for both e10s and non-e10s,\nin a more deliberate way. We now ignore the argument.\n\nMozReview-Commit-ID: 1CTzgEkDhHW"
},
"12": {
"changesets": [
{
"desc": "Bug 1355870 - Allow a system preference to determine distribution dir. r=nalexander, a=lizzard"
}
]
{
"desc": "Bug 1358089 - [RTL] Separate xml drawable into v17 folder. r=ahunt, a=lizzard\n\nMozReview-Commit-ID: LaOwxXwhsHA"
},
"13": {
"changesets": [
{
"desc": "Bug 1354911 - Guard against null menu item names. r=sebastian, a=lizzard\n\nAddons may give us invalid menu item names; bail instead of crashing in\nsuch cases."
},
{
"desc": "Bug 1356563 - Remove chrome-document-loaded observer only after handling it. r=me, a=gchang\n\nOnly remove the \"chrome-document-loaded\" observer after handling it in\nnsAppShell. Otherwise we may never end up handling it."
}
]
{
"desc": "Bug 1360626 - Create a blacklist for adaptive playback support. r=jolin, a=lizzard\n\nOn some devices / os combinations, enabling adaptive playback causes decoded frame unusable.\nIt may cause the decode frame to be black and white or return tiled frames.\nSo we should do the blacklist according to the report.\n\nMozReview-Commit-ID: j3PZXTtkXG"
},
"14": {
"changesets": [
{
"desc": "Bug 1352333 - remove autophone webrtc test manifests, r=dminor, a=test-only."
}
]
{
"desc": "Bug 1354038 - part2: [push-apk] taskgraph: Use rollout and deactivate dry-run on release r=aki a=bustage DONTBUILD\n\nMozReview-Commit-ID: 1f22BcAZkvp"
},
"15": {
"changesets": [
{
"desc": "Bug 1352333 - sync autophone webrtc test manifests with normal webrtc manifests, r=jmaher,dminor, a=test-only."
}
]
{
"desc": "bug 1354038 - empty commit to force builds. a=release"
},
"16": {
"changesets": [
{
"desc": "No bug - Tagging f239279b709072490993b099832fa8c18f07713a with FENNEC_53_0_BUILD1, FENNEC_53_0_RELEASE a=release CLOSED TREE"
}
]
{
"desc": "Bug 1337861 - [Fennec-Relpro] Enforce the presence of $MOZ_BUILD_DATE r=jlund a=release\n\nMozReview-Commit-ID: DzEeeYQjwLW"
},
"17": {
"changesets": [
{
"desc": "Automated checkin: version bump for fennec 53.0.1 release. DONTBUILD CLOSED TREE a=release"
},
{
"desc": "Added FENNEC_53_0_1_RELEASE FENNEC_53_0_1_BUILD1 tag(s) for changeset f029d1a1324b. DONTBUILD CLOSED TREE a=release"
}
]
{
"desc": "Bug 1332731 - Follow-up to fix accessibility breakage. r=sebastian, a=lizzard\n\nFollow-up to fix breakage in accessibility caused by the bundle\nconversion. In particular, optString(foo) should have been converted to\ngetString(foo, \"\") because optString returns \"\" by default.\n\nAlso fix a small bug in Presentation.jsm where an array or null should\nbe used instead of a string."
},
"18": {
"changesets": [
{
"desc": "Backout Bug 1337861 (Enforce MOZ_BUILD_DATE) due to Bug 1360550. r=catlee a=catlee\n\nBug 1360550 resulted in the buildid the Linux builds had being different than the directory they were uploaded to. This had fallout affects for QA's firefox-ui tests and presumably anything using mozdownload.\n\nMozReview-Commit-ID: 8lMvLU0vGiS"
}
]
{
"desc": "Bug 1355870 - Allow a system preference to determine distribution dir. r=nalexander, a=lizzard"
},
"19": {
"changesets": [
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-303 - a=blocklist-update"
}
]
{
"desc": "Bug 1354911 - Guard against null menu item names. r=sebastian, a=lizzard\n\nAddons may give us invalid menu item names; bail instead of crashing in\nsuch cases."
},
"20": {
"changesets": [
{
"desc": "Automatic version bump. CLOSED TREE NO BUG a=release"
},
{
"desc": "No bug - Tagging 5cbf464688a47129c0ea36fe38f42f59926e4b2c with FENNEC_53_0_1_BUILD2, FENNEC_53_0_1_RELEASE a=release CLOSED TREE"
}
]
{
"desc": "Bug 1356563 - Remove chrome-document-loaded observer only after handling it. r=me, a=gchang\n\nOnly remove the \"chrome-document-loaded\" observer after handling it in\nnsAppShell. Otherwise we may never end up handling it."
},
{
"desc": "Bug 1352333 - remove autophone webrtc test manifests, r=dminor, a=test-only."
},
{
"desc": "Bug 1352333 - sync autophone webrtc test manifests with normal webrtc manifests, r=jmaher,dminor, a=test-only."
},
{
"desc": "No bug - Tagging f239279b709072490993b099832fa8c18f07713a with FENNEC_53_0_BUILD1, FENNEC_53_0_RELEASE a=release CLOSED TREE"
},
{
"desc": "Automated checkin: version bump for fennec 53.0.1 release. DONTBUILD CLOSED TREE a=release"
},
{
"desc": "Added FENNEC_53_0_1_RELEASE FENNEC_53_0_1_BUILD1 tag(s) for changeset f029d1a1324b. DONTBUILD CLOSED TREE a=release"
},
{
"desc": "Backout Bug 1337861 (Enforce MOZ_BUILD_DATE) due to Bug 1360550. r=catlee a=catlee\n\nBug 1360550 resulted in the buildid the Linux builds had being different than the directory they were uploaded to. This had fallout affects for QA's firefox-ui tests and presumably anything using mozdownload.\n\nMozReview-Commit-ID: 8lMvLU0vGiS"
},
{
"desc": "No bug, Automated blocklist update from host bld-linux64-spot-303 - a=blocklist-update"
},
{
"desc": "Automatic version bump. CLOSED TREE NO BUG a=release"
},
{
"desc": "No bug - Tagging 5cbf464688a47129c0ea36fe38f42f59926e4b2c with FENNEC_53_0_1_BUILD2, FENNEC_53_0_1_RELEASE a=release CLOSED TREE"
}
}
]
}