Skip to content

Commit 5fb9dec

Browse files
committed
xtask: Add semver checks for esp-rom-sys
1 parent b42861a commit 5fb9dec

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

esp-rom-sys/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ license = "MIT OR Apache-2.0"
1313
links = "esp_rom_sys"
1414

1515
[package.metadata.espressif]
16+
semver-checked = true
1617
forever-unstable = true
1718
check-configs = [{ features = [] }]
1819
clippy-configs = [{ features = [] }]

xtask/src/semver_check.rs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use std::{
77
use anyhow::{Context, Error};
88
use cargo_semver_checks::{Check, GlobalConfig, ReleaseType, Rustdoc};
99
use esp_metadata::{Chip, Config};
10+
use toml_edit::{Item, Value};
1011

1112
use crate::{Package, cargo::CargoArgsBuilder, commands::checker::download_baselines};
1213

@@ -46,7 +47,6 @@ pub fn minimum_update(
4647
let mut cfg = GlobalConfig::new();
4748
cfg.set_log_level(Some(log::Level::Info));
4849
let result = semver_check.check_release(&mut cfg)?;
49-
log::info!("Result {:?}", result);
5050

5151
let mut min_required_update = ReleaseType::Patch;
5252
for (_, report) in result.crate_reports() {
@@ -59,6 +59,28 @@ pub fn minimum_update(
5959
}
6060
}
6161

62+
let forever_unstable = package
63+
.toml()
64+
.espressif_metadata()
65+
.and_then(|metadata| metadata.get("forever-unstable"))
66+
.map(|item| match item {
67+
Item::Value(Value::Boolean(b)) => *b.value(),
68+
Item::Value(_) => {
69+
log::warn!("Invalid value for 'forever-unstable' in metadata - must be a boolean");
70+
true
71+
}
72+
_ => false,
73+
})
74+
.unwrap_or(false);
75+
76+
if forever_unstable && min_required_update == ReleaseType::Major {
77+
log::warn!(
78+
"Downgrading required bump from Minor to Patch for unstable package: {}",
79+
package
80+
);
81+
min_required_update = ReleaseType::Minor;
82+
}
83+
6284
Ok(min_required_update)
6385
}
6486

0 commit comments

Comments
 (0)