Skip to content

Commit

Permalink
Rollup merge of #85996 - jyn514:library-changes, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
rustbuild: take changes to the standard library into account for `download-rustc`

Previously, changing the standard library with `download-rustc =
"if-unchanged"` would incorrectly reuse the cached compiler and standard
library from CI, which was confusing and led to incorrect test failures
or successes.

r? `@Mark-Simulacrum`
  • Loading branch information
JohnTitor authored Jun 7, 2021
2 parents 7fcfe05 + 261d16a commit 7d07cfb
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/bootstrap/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -648,18 +648,20 @@ def maybe_download_ci_toolchain(self):
rev_parse = ["git", "rev-parse", "--show-toplevel"]
top_level = subprocess.check_output(rev_parse, universal_newlines=True).strip()
compiler = "{}/compiler/".format(top_level)
library = "{}/library/".format(top_level)

# 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"]
commit = subprocess.check_output(merge_base, universal_newlines=True).strip()

# Warn if there were changes to the compiler since the ancestor commit.
status = subprocess.call(["git", "diff-index", "--quiet", commit, "--", compiler])
# Warn if there were changes to the compiler or standard library since the ancestor commit.
status = subprocess.call(["git", "diff-index", "--quiet", commit, "--", compiler, library])
if status != 0:
if download_rustc == "if-unchanged":
return None
print("warning: `download-rustc` is enabled, but there are changes to compiler/")
print("warning: `download-rustc` is enabled, but there are changes to \
compiler/ or library/")

if self.verbose:
print("using downloaded stage1 artifacts from CI (commit {})".format(commit))
Expand Down

0 comments on commit 7d07cfb

Please sign in to comment.