Skip to content

Commit

Permalink
stabilize ci_rustc_if_unchanged_logic test
Browse files Browse the repository at this point in the history
Signed-off-by: onur-ozkan <work@onurozkan.dev>
  • Loading branch information
onur-ozkan committed Oct 10, 2024
1 parent df1b5d3 commit b27aee9
Showing 1 changed file with 11 additions and 28 deletions.
39 changes: 11 additions & 28 deletions src/bootstrap/src/core/builder/tests.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use std::thread;

use build_helper::git::get_closest_merge_commit;

use super::*;
use crate::Flags;
use crate::core::build_steps::doc::DocumentationFormat;
Expand Down Expand Up @@ -214,8 +212,6 @@ fn alias_and_path_for_library() {
assert_eq!(first(cache.all::<doc::Std>()), &[doc_std!(A => A, stage = 0)]);
}

// FIXME: This is failing in various runners in merge CI.
#[ignore]
#[test]
fn ci_rustc_if_unchanged_logic() {
let config = Config::parse_inner(
Expand All @@ -227,10 +223,6 @@ fn ci_rustc_if_unchanged_logic() {
|&_| Ok(Default::default()),
);

if config.rust_info.is_from_tarball() {
return;
}

let build = Build::new(config.clone());
let builder = Builder::new(&build);

Expand All @@ -240,26 +232,17 @@ fn ci_rustc_if_unchanged_logic() {

builder.run_step_descriptions(&Builder::get_step_descriptions(config.cmd.kind()), &[]);

let compiler_path = build.src.join("compiler");
let library_path = build.src.join("library");

let commit =
get_closest_merge_commit(Some(&builder.config.src), &builder.config.git_config(), &[
compiler_path.clone(),
library_path.clone(),
])
.unwrap();

let has_changes = !helpers::git(Some(&builder.src))
.args(["diff-index", "--quiet", &commit])
.arg("--")
.args([compiler_path, library_path])
.as_command_mut()
.status()
.unwrap()
.success();

assert!(has_changes == config.download_rustc_commit.is_none());
// Make sure "if-unchanged" logic doesn't try to use CI rustc while there are changes
// in compiler and/or library.
if config.download_rustc_commit.is_some() {
let has_changes =
config.last_modified_commit(&["compiler", "library"], "download-rustc", true).is_none();

assert!(
!has_changes,
"CI-rustc can't be used with 'if-unchanged' while there are changes in compiler and/or library."
);
}
}

mod defaults {
Expand Down

0 comments on commit b27aee9

Please sign in to comment.