diff options
| author | bors <bors@rust-lang.org> | 2021-08-05 07:33:20 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-08-05 07:33:20 +0000 |
| commit | 2ddb65c32253872c0e7a02e43ec520877900370e (patch) | |
| tree | 460251e826df4b9b02898fda9460523b1f742c9e | |
| parent | d4ad1cfc63ba5824196bfb2370451ddb5af2e020 (diff) | |
| parent | e0d7a591a52da064727e4ae143ef6ae1364c5d02 (diff) | |
| download | rust-2ddb65c32253872c0e7a02e43ec520877900370e.tar.gz rust-2ddb65c32253872c0e7a02e43ec520877900370e.zip | |
Auto merge of #87532 - tlyu:bootstrap-rev-list, r=jyn514
bootstrap.py: use `git rev-list` for robustness Use `git rev-list` instead of `git log` to be more robust against UI changes in git. Also, use the full email address for bors, because `--author` uses a substring match. Based on #87513, but is separate because it's less minimal and may require additional manual testing. ~Open questions:~ * ~Should the `merge_base` search also use `--first-parent`?~ * ~Do we exclude non-merge commits from bors? There are a few, and I'm not sure what they have in common. Some of them look like squashes, and some look like they're in rollup branches.~ r? `@jyn514` `@rustbot` label +A-rustbuild +C-cleanup
| -rw-r--r-- | src/bootstrap/bootstrap.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index f2e38a7eab6..3faf38c66ec 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -464,7 +464,8 @@ class RustBuild(object): # LLVM more often than necessary. # # This git command finds that commit SHA, looking for bors-authored - # merges that modified src/llvm-project. + # merges that modified src/llvm-project or other relevant version + # stamp files. # # This works even in a repository that has not yet initialized # submodules. @@ -472,8 +473,8 @@ class RustBuild(object): "git", "rev-parse", "--show-toplevel", ]).decode(sys.getdefaultencoding()).strip() llvm_sha = subprocess.check_output([ - "git", "log", "--author=bors", "--format=%H", "-n1", - "--no-patch", "--first-parent", + "git", "rev-list", "--author=bors@rust-lang.org", "-n1", + "--merges", "--first-parent", "HEAD", "--", "{}/src/llvm-project".format(top_level), "{}/src/bootstrap/download-ci-llvm-stamp".format(top_level), @@ -665,7 +666,10 @@ class RustBuild(object): # Look for a version to compare to based on the current commit. # Only commits merged by bors will have CI artifacts. - merge_base = ["git", "log", "--author=bors", "--pretty=%H", "-n1"] + merge_base = [ + "git", "rev-list", "--author=bors@rust-lang.org", "-n1", + "--merges", "--first-parent", "HEAD" + ] commit = subprocess.check_output(merge_base, universal_newlines=True).strip() # Warn if there were changes to the compiler or standard library since the ancestor commit. |
