Skip to content

Commit

Permalink
Rollup merge of rust-lang#125911 - onur-ozkan:wipe-broken-cache, r=al…
Browse files Browse the repository at this point in the history
…bertlarsan68

delete bootstrap build before switching to bumped rustc

Technically, wiping bootstrap builds can increase the build time. But in practice, trying to manually resolve post-bump issues and even accidentally removing the entire build directory will result in a much greater loss of time. After all, the bootstrap build process is not a particularly lengthy operation.

Workaround for rust-lang#125578
  • Loading branch information
fmease authored Jun 4, 2024
2 parents 7cd2aac + 92f85f1 commit 91f8f17
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/bootstrap/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,12 @@ def download_toolchain(self):
print('Choosing a pool size of', pool_size, 'for the unpacking of the tarballs')
p = Pool(pool_size)
try:
# FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578,
# remove this once the issue is closed.
bootstrap_out = self.bootstrap_out()
if os.path.exists(bootstrap_out):
shutil.rmtree(bootstrap_out)

p.map(unpack_component, tarballs_download_info)
finally:
p.close()
Expand Down Expand Up @@ -864,6 +870,16 @@ def get_string(line):
return line[start + 1:end]
return None

def bootstrap_out(self):
"""Return the path of the bootstrap build artifacts
>>> rb = RustBuild()
>>> rb.build_dir = "build"
>>> rb.bootstrap_binary() == os.path.join("build", "bootstrap")
True
"""
return os.path.join(self.build_dir, "bootstrap")

def bootstrap_binary(self):
"""Return the path of the bootstrap binary
Expand All @@ -873,7 +889,7 @@ def bootstrap_binary(self):
... "debug", "bootstrap")
True
"""
return os.path.join(self.build_dir, "bootstrap", "debug", "bootstrap")
return os.path.join(self.bootstrap_out(), "debug", "bootstrap")

def build_bootstrap(self):
"""Build bootstrap"""
Expand Down

0 comments on commit 91f8f17

Please sign in to comment.