forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#118220 - onur-ozkan:followups, r=Mark-Simulacrum general improvements/fixes on bootstrap - adds rust-lang#117813 into change tracker rust-lang@6d9b92f - fixes a bug in change tracker rust-lang@63a4410 - relocates `CONFIG_CHANGE_HISTORY` rust-lang@a7dcb98
- Loading branch information
Showing
8 changed files
with
115 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
//! This module facilitates the tracking system for major changes made to the bootstrap, | ||
//! with the goal of keeping developers synchronized with important modifications in | ||
//! the bootstrap. | ||
#[derive(Clone, Debug)] | ||
pub struct ChangeInfo { | ||
/// Represents the ID of PR caused major change on bootstrap. | ||
pub change_id: usize, | ||
pub severity: ChangeSeverity, | ||
/// Provides a short summary of the change that will guide developers | ||
/// on "how to handle/behave" in response to the changes. | ||
pub summary: &'static str, | ||
} | ||
|
||
#[derive(Clone, Debug)] | ||
pub enum ChangeSeverity { | ||
/// Used when build configurations continue working as before. | ||
Info, | ||
/// Used when the default value of an option changes, or support for an option is removed entirely, | ||
/// potentially requiring developers to update their build configurations. | ||
Warning, | ||
} | ||
|
||
impl ToString for ChangeSeverity { | ||
fn to_string(&self) -> String { | ||
match self { | ||
ChangeSeverity::Info => "INFO".to_string(), | ||
ChangeSeverity::Warning => "WARNING".to_string(), | ||
} | ||
} | ||
} | ||
|
||
pub fn find_recent_config_change_ids(current_id: usize) -> Vec<ChangeInfo> { | ||
if !CONFIG_CHANGE_HISTORY.iter().any(|config| config.change_id == current_id) { | ||
// If the current change-id is greater than the most recent one, return | ||
// an empty list (it may be due to switching from a recent branch to an | ||
// older one); otherwise, return the full list (assuming the user provided | ||
// the incorrect change-id by accident). | ||
if let Some(config) = CONFIG_CHANGE_HISTORY.iter().max_by_key(|config| config.change_id) { | ||
if ¤t_id > &config.change_id { | ||
return Vec::new(); | ||
} | ||
} | ||
|
||
return CONFIG_CHANGE_HISTORY.to_vec(); | ||
} | ||
|
||
let index = | ||
CONFIG_CHANGE_HISTORY.iter().position(|config| config.change_id == current_id).unwrap(); | ||
|
||
CONFIG_CHANGE_HISTORY | ||
.iter() | ||
.skip(index + 1) // Skip the current_id and IDs before it | ||
.cloned() | ||
.collect() | ||
} | ||
|
||
/// Keeps track of major changes made to the bootstrap configuration. | ||
/// | ||
/// If you make any major changes (such as adding new values or changing default values), | ||
/// please ensure adding `ChangeInfo` to the end(because the list must be sorted by the merge date) | ||
/// of this list. | ||
pub const CONFIG_CHANGE_HISTORY: &[ChangeInfo] = &[ | ||
ChangeInfo { | ||
change_id: 115898, | ||
severity: ChangeSeverity::Info, | ||
summary: "Implementation of this change-tracking system. Ignore this.", | ||
}, | ||
ChangeInfo { | ||
change_id: 116998, | ||
severity: ChangeSeverity::Info, | ||
summary: "Removed android-ndk r15 support in favor of android-ndk r25b.", | ||
}, | ||
ChangeInfo { | ||
change_id: 117435, | ||
severity: ChangeSeverity::Info, | ||
summary: "New option `rust.parallel-compiler` added to config.toml.", | ||
}, | ||
ChangeInfo { | ||
change_id: 116881, | ||
severity: ChangeSeverity::Warning, | ||
summary: "Default value of `download-ci-llvm` was changed for `codegen` profile.", | ||
}, | ||
ChangeInfo { | ||
change_id: 117813, | ||
severity: ChangeSeverity::Info, | ||
summary: "Use of the `if-available` value for `download-ci-llvm` is deprecated; prefer using the new `if-unchanged` value.", | ||
}, | ||
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters