Skip to content

Commit 975eb8f

Browse files
committed
forever-unstable package only Patch release
1 parent 68ab75c commit 975eb8f

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

xtask/src/semver_check.rs

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,11 @@ fn required_bump(required_bumps: &[ReleaseType], forever_unstable: bool) -> Rele
129129
}
130130
}
131131

132-
if forever_unstable && min_required_update == ReleaseType::Major {
133-
log::warn!("Downgrading required bump from Minor to Patch for unstable package",);
134-
min_required_update = ReleaseType::Minor;
132+
if forever_unstable
133+
&& (min_required_update == ReleaseType::Major || min_required_update == ReleaseType::Minor)
134+
{
135+
log::warn!("Downgrading required bump to Patch for unstable package",);
136+
min_required_update = ReleaseType::Patch;
135137
}
136138

137139
min_required_update
@@ -163,14 +165,27 @@ mod tests {
163165
}
164166

165167
#[test]
166-
fn forever_unstable_downgrades_major_to_minor() {
168+
fn forever_unstable_downgrades_major_to_patch() {
167169
let bumps = [ReleaseType::Major];
168170

169171
let result = required_bump(&bumps, true);
170172

171173
assert_eq!(
172174
result,
173-
ReleaseType::Minor,
175+
ReleaseType::Patch,
176+
"forever-unstable packages must never require a major bump"
177+
);
178+
}
179+
180+
#[test]
181+
fn forever_unstable_downgrades_minor_to_patch() {
182+
let bumps = [ReleaseType::Minor];
183+
184+
let result = required_bump(&bumps, true);
185+
186+
assert_eq!(
187+
result,
188+
ReleaseType::Patch,
174189
"forever-unstable packages must never require a major bump"
175190
);
176191
}

0 commit comments

Comments
 (0)