Skip to content

Commit 59d993b

Browse files
committed
use better default stage for check::Std when stage isn't explicit
Signed-off-by: onur-ozkan <[email protected]>
1 parent 9505178 commit 59d993b

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

src/bootstrap/src/core/build_steps/check.rs

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ impl Step for Std {
4848
const DEFAULT: bool = true;
4949

5050
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
51-
let stage = run.builder.top_stage;
51+
let builder = run.builder;
52+
let stage = if builder.config.is_explicit_stage() || builder.top_stage >= 1 {
53+
builder.top_stage
54+
} else {
55+
1
56+
};
5257

5358
let mut run = run;
5459
for c in Std::CRATE_OR_DEPS {
@@ -66,10 +71,16 @@ impl Step for Std {
6671
fn run(self, builder: &Builder<'_>) {
6772
builder.require_submodule("library/stdarch", None);
6873

74+
let stage = if builder.config.is_explicit_stage() || builder.top_stage >= 1 {
75+
builder.top_stage
76+
} else {
77+
1
78+
};
79+
6980
let target = self.target;
70-
let compiler = builder.compiler(builder.top_stage, builder.config.build);
81+
let compiler = builder.compiler(stage, builder.config.build);
7182

72-
if builder.top_stage == 0 {
83+
if stage == 0 {
7384
let mut is_explicitly_called =
7485
builder.paths.iter().any(|p| p.starts_with("library") || p.starts_with("std"));
7586

@@ -110,6 +121,7 @@ impl Step for Std {
110121
let _guard = builder.msg_check(
111122
format_args!("library artifacts{}", crate_description(&self.crates)),
112123
target,
124+
Some(stage),
113125
);
114126

115127
let stamp = build_stamp::libstd_stamp(builder, compiler, target).with_prefix("check");
@@ -162,7 +174,7 @@ impl Step for Std {
162174
}
163175

164176
let stamp = build_stamp::libstd_stamp(builder, compiler, target).with_prefix("check-test");
165-
let _guard = builder.msg_check("library test/bench/example targets", target);
177+
let _guard = builder.msg_check("library test/bench/example targets", target, Some(stage));
166178
run_cargo(builder, cargo, builder.config.free_args.clone(), &stamp, vec![], true, false);
167179
}
168180
}
@@ -263,6 +275,7 @@ impl Step for Rustc {
263275
let _guard = builder.msg_check(
264276
format_args!("compiler artifacts{}", crate_description(&self.crates)),
265277
target,
278+
None,
266279
);
267280

268281
let stamp = build_stamp::librustc_stamp(builder, compiler, target).with_prefix("check");
@@ -323,7 +336,7 @@ impl Step for CodegenBackend {
323336
.arg(builder.src.join(format!("compiler/rustc_codegen_{backend}/Cargo.toml")));
324337
rustc_cargo_env(builder, &mut cargo, target, compiler.stage);
325338

326-
let _guard = builder.msg_check(backend, target);
339+
let _guard = builder.msg_check(backend, target, None);
327340

328341
let stamp = build_stamp::codegen_backend_stamp(builder, compiler, target, backend)
329342
.with_prefix("check");
@@ -390,7 +403,7 @@ impl Step for RustAnalyzer {
390403
let stamp = BuildStamp::new(&builder.cargo_out(compiler, Mode::ToolRustc, target))
391404
.with_prefix("rust-analyzer-check");
392405

393-
let _guard = builder.msg_check("rust-analyzer artifacts", target);
406+
let _guard = builder.msg_check("rust-analyzer artifacts", target, None);
394407
run_cargo(builder, cargo, builder.config.free_args.clone(), &stamp, vec![], true, false);
395408
}
396409
}
@@ -453,7 +466,7 @@ impl Step for Compiletest {
453466
let stamp = BuildStamp::new(&builder.cargo_out(compiler, mode, self.target))
454467
.with_prefix("compiletest-check");
455468

456-
let _guard = builder.msg_check("compiletest artifacts", self.target);
469+
let _guard = builder.msg_check("compiletest artifacts", self.target, None);
457470
run_cargo(builder, cargo, builder.config.free_args.clone(), &stamp, vec![], true, false);
458471
}
459472
}
@@ -531,7 +544,7 @@ fn run_tool_check_step(
531544
let stamp = BuildStamp::new(&builder.cargo_out(compiler, Mode::ToolRustc, target))
532545
.with_prefix(&format!("{}-check", step_type_name.to_lowercase()));
533546

534-
let _guard = builder.msg_check(format!("{display_name} artifacts"), target);
547+
let _guard = builder.msg_check(format!("{display_name} artifacts"), target, None);
535548
run_cargo(builder, cargo, builder.config.free_args.clone(), &stamp, vec![], true, false);
536549
}
537550

src/bootstrap/src/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1104,8 +1104,15 @@ Executed at: {executed_at}"#,
11041104
&self,
11051105
what: impl Display,
11061106
target: impl Into<Option<TargetSelection>>,
1107+
custom_stage: Option<u32>,
11071108
) -> Option<gha::Group> {
1108-
self.msg(Kind::Check, self.config.stage, what, self.config.build, target)
1109+
self.msg(
1110+
Kind::Check,
1111+
custom_stage.unwrap_or(self.config.stage),
1112+
what,
1113+
self.config.build,
1114+
target,
1115+
)
11091116
}
11101117

11111118
#[must_use = "Groups should not be dropped until the Step finishes running"]

0 commit comments

Comments
 (0)