@@ -117,12 +117,7 @@ impl Step for CrateBootstrap {
117117 SourceType :: InTree ,
118118 & [ ] ,
119119 ) ;
120- builder. info ( & format ! (
121- "{} {} stage0 ({})" ,
122- builder. kind. description( ) ,
123- path,
124- bootstrap_host,
125- ) ) ;
120+ let _group = builder. msg ( Kind :: Test , compiler. stage , path, compiler. host , bootstrap_host) ;
126121 let crate_name = path. rsplit_once ( '/' ) . unwrap ( ) . 1 ;
127122 run_cargo_test ( cargo, & [ ] , & [ ] , crate_name, compiler, bootstrap_host, builder) ;
128123 }
@@ -163,6 +158,15 @@ You can skip linkcheck with --exclude src/tools/linkchecker"
163158 // Test the linkchecker itself.
164159 let bootstrap_host = builder. config . build ;
165160 let compiler = builder. compiler ( 0 , bootstrap_host) ;
161+
162+ let self_test_group = builder. msg (
163+ Kind :: Test ,
164+ compiler. stage ,
165+ "linkchecker self tests" ,
166+ bootstrap_host,
167+ bootstrap_host,
168+ ) ;
169+
166170 let cargo = tool:: prepare_tool_cargo (
167171 builder,
168172 compiler,
@@ -174,6 +178,7 @@ You can skip linkcheck with --exclude src/tools/linkchecker"
174178 & [ ] ,
175179 ) ;
176180 run_cargo_test ( cargo, & [ ] , & [ ] , "linkchecker" , compiler, bootstrap_host, builder) ;
181+ drop ( self_test_group) ;
177182
178183 if builder. doc_tests == DocTests :: No {
179184 return ;
@@ -182,13 +187,14 @@ You can skip linkcheck with --exclude src/tools/linkchecker"
182187 // Build all the default documentation.
183188 builder. default_doc ( & [ ] ) ;
184189
190+ // Build the linkchecker before calling `msg`, since GHA doesn't support nested groups.
191+ let mut linkchecker = builder. tool_cmd ( Tool :: Linkchecker ) ;
192+
185193 // Run the linkchecker.
194+ let _guard =
195+ builder. msg ( Kind :: Test , compiler. stage , "Linkcheck" , bootstrap_host, bootstrap_host) ;
186196 let _time = util:: timeit ( & builder) ;
187- try_run (
188- builder,
189- builder. tool_cmd ( Tool :: Linkchecker ) . arg ( builder. out . join ( host. triple ) . join ( "doc" ) ) ,
190- )
191- . unwrap ( ) ;
197+ try_run ( builder, linkchecker. arg ( builder. out . join ( host. triple ) . join ( "doc" ) ) ) . unwrap ( ) ;
192198 }
193199
194200 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -2676,6 +2682,10 @@ impl Step for Bootstrap {
26762682
26772683 /// Tests the build system itself.
26782684 fn run ( self , builder : & Builder < ' _ > ) {
2685+ let host = builder. config . build ;
2686+ let compiler = builder. compiler ( 0 , host) ;
2687+ let _guard = builder. msg ( Kind :: Test , 0 , "bootstrap" , host, host) ;
2688+
26792689 let mut check_bootstrap = Command :: new ( & builder. python ( ) ) ;
26802690 check_bootstrap
26812691 . args ( [ "-m" , "unittest" , "bootstrap_test.py" ] )
@@ -2686,8 +2696,6 @@ impl Step for Bootstrap {
26862696 // Use `python -m unittest` manually if you want to pass arguments.
26872697 try_run ( builder, & mut check_bootstrap) . unwrap ( ) ;
26882698
2689- let host = builder. config . build ;
2690- let compiler = builder. compiler ( 0 , host) ;
26912699 let mut cmd = Command :: new ( & builder. initial_cargo ) ;
26922700 cmd. arg ( "test" )
26932701 . current_dir ( builder. src . join ( "src/bootstrap" ) )
@@ -2755,7 +2763,13 @@ impl Step for TierCheck {
27552763 cargo. arg ( "--verbose" ) ;
27562764 }
27572765
2758- builder. info ( "platform support check" ) ;
2766+ let _guard = builder. msg (
2767+ Kind :: Test ,
2768+ self . compiler . stage ,
2769+ "platform support check" ,
2770+ self . compiler . host ,
2771+ self . compiler . host ,
2772+ ) ;
27592773 try_run ( builder, & mut cargo. into ( ) ) . unwrap ( ) ;
27602774 }
27612775}
@@ -2803,8 +2817,6 @@ impl Step for RustInstaller {
28032817
28042818 /// Ensure the version placeholder replacement tool builds
28052819 fn run ( self , builder : & Builder < ' _ > ) {
2806- builder. info ( "test rust-installer" ) ;
2807-
28082820 let bootstrap_host = builder. config . build ;
28092821 let compiler = builder. compiler ( 0 , bootstrap_host) ;
28102822 let cargo = tool:: prepare_tool_cargo (
@@ -2817,6 +2829,14 @@ impl Step for RustInstaller {
28172829 SourceType :: InTree ,
28182830 & [ ] ,
28192831 ) ;
2832+
2833+ let _guard = builder. msg (
2834+ Kind :: Test ,
2835+ compiler. stage ,
2836+ "rust-installer" ,
2837+ bootstrap_host,
2838+ bootstrap_host,
2839+ ) ;
28202840 run_cargo_test ( cargo, & [ ] , & [ ] , "installer" , compiler, bootstrap_host, builder) ;
28212841
28222842 // We currently don't support running the test.sh script outside linux(?) environments.
0 commit comments