From 6e6cbdd2df0ae5a025c458d95a4c84df1b6af092 Mon Sep 17 00:00:00 2001 From: onur-ozkan Date: Sun, 13 Oct 2024 17:00:41 +0300 Subject: [PATCH] check `stage0`, `channel` and `version` files for CI rustc These files have important role for compiler builds, so include them in the "if-unchanged" rustc logic. Signed-off-by: onur-ozkan --- src/bootstrap/src/core/config/config.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index 3f025a198cb..f768470c4ff 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -2748,13 +2748,18 @@ impl Config { } }; - // Look for a version to compare to based on the current commit. - // Only commits merged by bors will have CI artifacts. - let commit = get_closest_merge_commit(Some(&self.src), &self.git_config(), &[ + let files_to_track = &[ self.src.join("compiler"), self.src.join("library"), - ]) - .unwrap(); + self.src.join("src/version"), + self.src.join("src/stage0"), + self.src.join("src/ci/channel"), + ]; + + // Look for a version to compare to based on the current commit. + // Only commits merged by bors will have CI artifacts. + let commit = + get_closest_merge_commit(Some(&self.src), &self.git_config(), files_to_track).unwrap(); if commit.is_empty() { println!("ERROR: could not find commit hash for downloading rustc"); println!("HELP: maybe your repository history is too shallow?"); @@ -2780,7 +2785,7 @@ impl Config { let has_changes = !t!(helpers::git(Some(&self.src)) .args(["diff-index", "--quiet", &commit]) .arg("--") - .args([self.src.join("compiler"), self.src.join("library")]) + .args(files_to_track) .as_command_mut() .status()) .success();