]> git.lizzy.rs Git - rust.git/blobdiff - src/ci/docker/x86_64-gnu-tools/checkregression.py
Add toolstate checking into bootstrap
[rust.git] / src / ci / docker / x86_64-gnu-tools / checkregression.py
index 8aa90319d661520bbe1657a8cce2cec6b697b8b9..4fbb8c4d2034900dda85f48c5d4afa55b2834c4f 100755 (executable)
@@ -1,9 +1,18 @@
 #!/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]
@@ -21,12 +30,7 @@ if __name__ == '__main__':
         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:
@@ -37,7 +41,8 @@ if __name__ == '__main__':
                 '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)