opt-dist: propagate channel info to bootstrap

This commit is contained in:
Jieyou Xu 2024-12-19 21:37:18 +08:00 committed by 许杰友 Jieyou Xu (Joe)
parent 3bf62ccc10
commit 42bf2af5ea

View file

@ -25,6 +25,8 @@ pub fn run_tests(env: &Environment) -> anyhow::Result<()> {
let host_triple = env.host_tuple();
let version = find_dist_version(&dist_dir)?;
let channel = version_to_channel(&version);
// Extract rustc, libstd, cargo and src archives to create the optimized sysroot
let rustc_dir = extract_dist_dir(&format!("rustc-{version}-{host_triple}"))?.join("rustc");
let libstd_dir = extract_dist_dir(&format!("rust-std-{version}-{host_triple}"))?
@ -61,9 +63,13 @@ pub fn run_tests(env: &Environment) -> anyhow::Result<()> {
assert!(llvm_config.is_file());
let config_content = format!(
r#"profile = "user"
r#"
profile = "user"
change-id = 115898
[rust]
channel = "{channel}"
[build]
rustc = "{rustc}"
cargo = "{cargo}"
@ -116,3 +122,13 @@ fn find_dist_version(directory: &Utf8Path) -> anyhow::Result<String> {
archive.strip_prefix("reproducible-artifacts-").unwrap().split_once('-').unwrap();
Ok(version.to_string())
}
/// Roughly convert a version string (`nightly`, `beta`, or `1.XY.Z`) to channel string (`nightly`,
/// `beta` or `stable`).
fn version_to_channel(version_str: &str) -> &'static str {
match version_str {
"nightly" => "nightly",
"beta" => "beta",
_ => "stable",
}
}