Skip to content

Commit 7768eaa

Browse files
committed
Add assert that tests happen with stage 2 in CI
- Use stage 2 for makefile - Move assert to builder - Don't add an assert for --help - Allow --stage 0 if passed explicitly - Don't assert defaults during tests Otherwise it's impossible to test the defaults!
1 parent 4ee8d84 commit 7768eaa

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

src/bootstrap/builder.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,7 @@ impl<'a> Builder<'a> {
540540
Kind::Check | Kind::Clippy | Kind::Fix | Kind::Run | Kind::Format => 0,
541541
}
542542
};
543+
543544
Builder {
544545
build,
545546
top_stage,
@@ -566,7 +567,20 @@ impl<'a> Builder<'a> {
566567
Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(),
567568
};
568569

569-
Self::new_internal(build, kind, paths.to_owned())
570+
let this = Self::new_internal(build, kind, paths.to_owned());
571+
572+
// CI should always run stage 2 builds, unless it specifically states otherwise
573+
#[cfg(not(test))]
574+
if build.config.stage.is_none() && build.ci_env != crate::CiEnv::None {
575+
match kind {
576+
Kind::Test | Kind::Doc | Kind::Build | Kind::Bench | Kind::Dist | Kind::Install => {
577+
assert_eq!(this.top_stage, 2)
578+
}
579+
_ => {}
580+
}
581+
}
582+
583+
this
570584
}
571585

572586
pub fn execute_cli(&self) {

src/bootstrap/mk/Makefile.in

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ endif
99
BOOTSTRAP := $(CFG_PYTHON) $(CFG_SRC_DIR)src/bootstrap/bootstrap.py
1010

1111
all:
12-
$(Q)$(BOOTSTRAP) build $(BOOTSTRAP_ARGS)
13-
$(Q)$(BOOTSTRAP) doc $(BOOTSTRAP_ARGS)
12+
$(Q)$(BOOTSTRAP) build --stage 2 $(BOOTSTRAP_ARGS)
13+
$(Q)$(BOOTSTRAP) doc --stage 2 $(BOOTSTRAP_ARGS)
1414

1515
help:
1616
$(Q)echo 'Welcome to the rustbuild build system!'
@@ -31,17 +31,17 @@ rustc-stage2:
3131

3232
docs: doc
3333
doc:
34-
$(Q)$(BOOTSTRAP) doc $(BOOTSTRAP_ARGS)
34+
$(Q)$(BOOTSTRAP) doc --stage 2 $(BOOTSTRAP_ARGS)
3535
nomicon:
36-
$(Q)$(BOOTSTRAP) doc src/doc/nomicon $(BOOTSTRAP_ARGS)
36+
$(Q)$(BOOTSTRAP) doc --stage 2 src/doc/nomicon $(BOOTSTRAP_ARGS)
3737
book:
38-
$(Q)$(BOOTSTRAP) doc src/doc/book $(BOOTSTRAP_ARGS)
38+
$(Q)$(BOOTSTRAP) doc --stage 2 src/doc/book $(BOOTSTRAP_ARGS)
3939
standalone-docs:
40-
$(Q)$(BOOTSTRAP) doc src/doc $(BOOTSTRAP_ARGS)
40+
$(Q)$(BOOTSTRAP) doc --stage 2 src/doc $(BOOTSTRAP_ARGS)
4141
check:
42-
$(Q)$(BOOTSTRAP) test $(BOOTSTRAP_ARGS)
42+
$(Q)$(BOOTSTRAP) test --stage 2 $(BOOTSTRAP_ARGS)
4343
check-aux:
44-
$(Q)$(BOOTSTRAP) test \
44+
$(Q)$(BOOTSTRAP) test --stage 2 \
4545
src/tools/cargo \
4646
src/tools/cargotest \
4747
$(BOOTSTRAP_ARGS)
@@ -51,37 +51,37 @@ dist:
5151
$(Q)$(BOOTSTRAP) dist $(BOOTSTRAP_ARGS)
5252
distcheck:
5353
$(Q)$(BOOTSTRAP) dist $(BOOTSTRAP_ARGS)
54-
$(Q)$(BOOTSTRAP) test distcheck $(BOOTSTRAP_ARGS)
54+
$(Q)$(BOOTSTRAP) test --stage 2 distcheck $(BOOTSTRAP_ARGS)
5555
install:
5656
$(Q)$(BOOTSTRAP) install $(BOOTSTRAP_ARGS)
5757
tidy:
58-
$(Q)$(BOOTSTRAP) test src/tools/tidy $(BOOTSTRAP_ARGS)
58+
$(Q)$(BOOTSTRAP) test --stage 2 src/tools/tidy $(BOOTSTRAP_ARGS)
5959
prepare:
60-
$(Q)$(BOOTSTRAP) build nonexistent/path/to/trigger/cargo/metadata
60+
$(Q)$(BOOTSTRAP) build --stage 2 nonexistent/path/to/trigger/cargo/metadata
6161

6262
check-stage2-T-arm-linux-androideabi-H-x86_64-unknown-linux-gnu:
63-
$(Q)$(BOOTSTRAP) test --target arm-linux-androideabi
63+
$(Q)$(BOOTSTRAP) test --stage 2 --target arm-linux-androideabi
6464
check-stage2-T-x86_64-unknown-linux-musl-H-x86_64-unknown-linux-gnu:
65-
$(Q)$(BOOTSTRAP) test --target x86_64-unknown-linux-musl
65+
$(Q)$(BOOTSTRAP) test --stage 2 --target x86_64-unknown-linux-musl
6666

6767
TESTS_IN_2 := \
6868
src/test/ui \
6969
src/test/compile-fail \
7070
src/tools/linkchecker
7171

7272
ci-subset-1:
73-
$(Q)$(BOOTSTRAP) test $(TESTS_IN_2:%=--exclude %)
73+
$(Q)$(BOOTSTRAP) test --stage 2 $(TESTS_IN_2:%=--exclude %)
7474
ci-subset-2:
75-
$(Q)$(BOOTSTRAP) test $(TESTS_IN_2)
75+
$(Q)$(BOOTSTRAP) test --stage 2 $(TESTS_IN_2)
7676

7777
TESTS_IN_MINGW_2 := \
7878
src/test/ui \
7979
src/test/compile-fail
8080

8181
ci-mingw-subset-1:
82-
$(Q)$(BOOTSTRAP) test $(TESTS_IN_MINGW_2:%=--exclude %)
82+
$(Q)$(BOOTSTRAP) test --stage 2 $(TESTS_IN_MINGW_2:%=--exclude %)
8383
ci-mingw-subset-2:
84-
$(Q)$(BOOTSTRAP) test $(TESTS_IN_MINGW_2)
84+
$(Q)$(BOOTSTRAP) test --stage 2 $(TESTS_IN_MINGW_2)
8585

8686

8787
.PHONY: dist

0 commit comments

Comments
 (0)