Rollup merge of #64502 - RalfJung:miri-toolstate, r=pietroalbini
avoid duplicate issues for Miri build failures Currently, when Miri regressed from test-pass to test-fail, we pen an issue -- and then when it regresses further from test-fail to build-fail, we open a *second* issue. This changes the logic to avoid the redundant second issue for Miri. r? @pietroalbini @kennytm
This commit is contained in:
commit
3a1390cdca
1 changed files with 14 additions and 5 deletions
|
@ -201,7 +201,9 @@ def update_latest(
|
||||||
new = s.get(tool, old)
|
new = s.get(tool, old)
|
||||||
status[os] = new
|
status[os] = new
|
||||||
maintainers = ' '.join('@'+name for name in MAINTAINERS[tool])
|
maintainers = ' '.join('@'+name for name in MAINTAINERS[tool])
|
||||||
if new > old: # comparing the strings, but they are ordered appropriately!
|
# comparing the strings, but they are ordered appropriately:
|
||||||
|
# "test-pass" > "test-fail" > "build-fail"
|
||||||
|
if new > old:
|
||||||
# things got fixed or at least the status quo improved
|
# things got fixed or at least the status quo improved
|
||||||
changed = True
|
changed = True
|
||||||
message += '🎉 {} on {}: {} → {} (cc {}, @rust-lang/infra).\n' \
|
message += '🎉 {} on {}: {} → {} (cc {}, @rust-lang/infra).\n' \
|
||||||
|
@ -213,10 +215,17 @@ def update_latest(
|
||||||
.format(tool, os, old, new)
|
.format(tool, os, old, new)
|
||||||
message += '{} (cc {}, @rust-lang/infra).\n' \
|
message += '{} (cc {}, @rust-lang/infra).\n' \
|
||||||
.format(title, maintainers)
|
.format(title, maintainers)
|
||||||
# Most tools only create issues for build failures.
|
# See if we need to create an issue.
|
||||||
# Other failures can be spurious.
|
if tool == 'miri':
|
||||||
if new == 'build-fail' or (tool == 'miri' and new == 'test-fail'):
|
# Create issue if tests used to pass before. Don't open a *second*
|
||||||
create_issue_for_status = new
|
# issue when we regress from "test-fail" to "build-fail".
|
||||||
|
if old == 'test-pass':
|
||||||
|
create_issue_for_status = new
|
||||||
|
else:
|
||||||
|
# Create issue if things no longer build.
|
||||||
|
# (No issue for mere test failures to avoid spurious issues.)
|
||||||
|
if new == 'build-fail':
|
||||||
|
create_issue_for_status = new
|
||||||
|
|
||||||
if create_issue_for_status is not None:
|
if create_issue_for_status is not None:
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in a new issue