File tree 1 file changed +14
-0
lines changed
src/bootstrap/src/core/config
1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -2399,6 +2399,20 @@ impl Config {
2399
2399
Some ( commit) => {
2400
2400
self . download_ci_rustc ( commit) ;
2401
2401
2402
+ // CI-rustc can't be used without CI-LLVM. If `self.llvm_from_ci` is false, it means the "if-unchanged"
2403
+ // logic has detected some changes in the LLVM submodule (download-ci-llvm=false can't happen here as
2404
+ // we don't allow it while parsing the configuration).
2405
+ if !self . llvm_from_ci {
2406
+ // This happens when LLVM submodule is updated in CI, we should disable ci-rustc without an error
2407
+ // to not break CI. For non-CI environments, we should return an error.
2408
+ if CiEnv :: is_ci ( ) {
2409
+ println ! ( "WARNING: LLVM submodule has changes, `download-rustc` will be disabled." ) ;
2410
+ return None ;
2411
+ } else {
2412
+ panic ! ( "ERROR: LLVM submodule has changes, `download-rustc` can't be used." ) ;
2413
+ }
2414
+ }
2415
+
2402
2416
if let Some ( config_path) = & self . config {
2403
2417
let ci_config_toml = match self . get_builder_toml ( "ci-rustc" ) {
2404
2418
Ok ( ci_config_toml) => ci_config_toml,
You can’t perform that action at this time.
0 commit comments