diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-05-17 07:20:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-17 07:20:58 +0200 |
| commit | 52de70933aab43248b6522b8a22c261b992f1a01 (patch) | |
| tree | 6ccfa0badc1a9179cb81ea8c5e1b628840a52773 | |
| parent | 7a8d222d6b39c8253b96e7c4101043d5c82aa578 (diff) | |
| parent | e9c827379d785a3c4c77ea1ed120ee7c1b41d1d6 (diff) | |
| download | rust-52de70933aab43248b6522b8a22c261b992f1a01.tar.gz rust-52de70933aab43248b6522b8a22c261b992f1a01.zip | |
Rollup merge of #125181 - onur-ozkan:set-rust-channel-properly, r=clubby789
set `rust.channel` properly in source tarballs This change sets the appropriate channel by default when using nightly, beta or stable source tarballs. Fixes #124618
| -rw-r--r-- | src/bootstrap/src/core/config/config.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index 8713eb304d2..19119a073c5 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -1307,6 +1307,9 @@ impl Config { toml_path = config.src.join(toml_path); } + let file_content = t!(fs::read_to_string(config.src.join("src/ci/channel"))); + let ci_channel = file_content.trim_end(); + // Give a hard error if `--config` or `RUST_BOOTSTRAP_CONFIG` are set to a missing path, // but not if `config.toml` hasn't been created. let mut toml = if !using_default_path || toml_path.exists() { @@ -1534,6 +1537,7 @@ impl Config { let mut omit_git_hash = None; let mut lld_enabled = None; + let mut is_user_configured_rust_channel = false; if let Some(rust) = toml.rust { let Rust { optimize: optimize_toml, @@ -1591,6 +1595,7 @@ impl Config { lld_mode, } = rust; + is_user_configured_rust_channel = channel.is_some(); set(&mut config.channel, channel); config.download_rustc_commit = config.download_ci_rustc_commit(download_rustc); @@ -1598,8 +1603,6 @@ impl Config { if config.download_rustc_commit.is_some() { // We need the channel used by the downloaded compiler to match the one we set for rustdoc; // otherwise rustdoc-ui tests break. - let ci_channel = t!(fs::read_to_string(config.src.join("src/ci/channel"))); - let ci_channel = ci_channel.trim_end(); if config.channel != ci_channel && !(config.channel == "dev" && ci_channel == "nightly") { @@ -1717,6 +1720,10 @@ impl Config { config.omit_git_hash = omit_git_hash.unwrap_or(default); config.rust_info = GitInfo::new(config.omit_git_hash, &config.src); + if config.rust_info.is_from_tarball() && !is_user_configured_rust_channel { + ci_channel.clone_into(&mut config.channel); + } + if let Some(llvm) = toml.llvm { let Llvm { optimize: optimize_toml, |
