Fix commit detected when using download-rustc
On reflection on the issue in https://github.com/rust-lang/rust/pull/79540#discussion_r572572280, I think the bug was actually using the `compiler/` filter, not using `--author=bors`. 9a1d6174c9
has no CI artifacts because it was merged as part of a rollup:
```
$ curl -I https://ci-artifacts.rust-lang.org/rustc-builds/96e843ce6ae42e0aa519ba45e148269de347fd84/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz
HTTP/2 404
```
So 9a1d6174c925f54c923599e29b09d6855e6b3a78 is the correct commit to download, and that's what `--author=bors` does:
$ git log --author=bors 4aec8a5da5547d6e1c24e99dad0003b7cac107f5
commit 9a1d6174c925f54c923599e29b09d6855e6b3a78
Ideally it would look for "the most recent bors commit not followed by a change to `compiler/`", which would exclude things like documentation changes and avoid redownloading more than necessary, but
- Redownloading isn't the end of the world,
- That metric is hard to implement, and
- Documentation-only or library-only changes are very rare anyway since they're usually rolled up with changes to the compiler.
This commit is contained in:
parent
edeee915b1
commit
a705a58fe9
@ -647,9 +647,8 @@ class RustBuild(object):
|
||||
compiler = "{}/compiler/".format(top_level)
|
||||
|
||||
# Look for a version to compare to based on the current commit.
|
||||
# Ideally this would just use `merge-base`, but on beta and stable branches that wouldn't
|
||||
# come up with any commits, so hack it and use `author=bors` instead.
|
||||
merge_base = ["git", "log", "--author=bors", "--pretty=%H", "-n1", "--", compiler]
|
||||
# Only commits merged by bors will have CI artifacts.
|
||||
merge_base = ["git", "log", "--author=bors", "--pretty=%H", "-n1"]
|
||||
commit = subprocess.check_output(merge_base, universal_newlines=True).strip()
|
||||
|
||||
# Warn if there were changes to the compiler since the ancestor commit.
|
||||
|
Loading…
x
Reference in New Issue
Block a user