#!/usr/bin/env python
# -*- coding: utf-8 -*-
+## This script has two purposes: detect any tool that *regressed*, which is used
+## during the week before the beta branches to reject PRs; and detect any tool
+## that *changed* to see if we need to update the toolstate repo.
+
import sys
import json
+# Regressions for these tools during the beta cutoff week do not cause failure.
+# See `status_check` in `checktools.sh` for tools that have to pass on the
+# beta/stable branches.
+REGRESSION_OK = ["rustc-guide", "miri", "embedded-book"]
+
if __name__ == '__main__':
os_name = sys.argv[1]
toolstate_file = sys.argv[2]
state = cur[os_name]
new_state = toolstate.get(tool, '')
if verb == 'regressed':
- if tool == 'rls':
- # Temporary override until
- # https://github.com/rust-lang/rust/issues/60848 is fixed.
- updated = False
- else:
- updated = new_state < state
+ updated = new_state < state
elif verb == 'changed':
updated = new_state != state
else:
'The state of "{}" has {} from "{}" to "{}"'
.format(tool, verb, state, new_state)
)
- regressed = True
+ if not (verb == 'regressed' and tool in REGRESSION_OK):
+ regressed = True
if regressed:
sys.exit(1)