Skip to content

Commit 6133bcb

Browse files
authored
fix(boil): Set correct release version in container image metadata (#1341)
* fix(boil): Set correct release version in container image metadata * chore: Use correct Rust toolchain for VS Code formatting
1 parent 1d0d4bb commit 6133bcb

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"rust-analyzer.rustfmt.overrideCommand": [
33
"rustfmt",
44
// Keep in sync with across other repos like operator-rs and operator-templating
5-
"+nightly-2025-05-26",
5+
"+nightly-2025-10-23",
66
"--edition",
77
"2024",
88
"--"

rust/boil/src/main.rs

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,13 @@ impl VersionExt for Version {
7171

7272
fn base_prerelease(&self) -> String {
7373
let mut base = self.base();
74-
base.push('-');
75-
base.push_str(&self.pre);
74+
75+
// Well, that was a big doozy, ruined the whole release...
76+
if !self.pre.is_empty() {
77+
base.push('-');
78+
base.push_str(&self.pre);
79+
}
80+
7681
base
7782
}
7883
}
@@ -110,3 +115,34 @@ async fn main() -> Result<(), Error> {
110115
}
111116
}
112117
}
118+
119+
#[cfg(test)]
120+
mod tests {
121+
use rstest::rstest;
122+
123+
use super::*;
124+
125+
#[rstest]
126+
#[case("25.11.0-rc.1+arm64", "25.11.0-rc.1")]
127+
#[case("25.11.0-rc.1", "25.11.0-rc.1")]
128+
#[case("25.11.0-rc1", "25.11.0-rc1")]
129+
#[case("0.0.0-dev", "0.0.0-dev")]
130+
#[case("25.11.0", "25.11.0")]
131+
#[case("0.0.0", "0.0.0")]
132+
fn version_ext_base_prerelease(#[case] input: &str, #[case] expected: &str) {
133+
let version: Version = input.parse().expect("must be a valid semantic version");
134+
assert_eq!(version.base_prerelease(), expected);
135+
}
136+
137+
#[rstest]
138+
#[case("25.11.0-rc.1+arm64", "25.11.0")]
139+
#[case("25.11.0-rc.1", "25.11.0")]
140+
#[case("25.11.0-rc1", "25.11.0")]
141+
#[case("0.0.0-dev", "0.0.0")]
142+
#[case("25.11.0", "25.11.0")]
143+
#[case("0.0.0", "0.0.0")]
144+
fn version_ext_base(#[case] input: &str, #[case] expected: &str) {
145+
let version: Version = input.parse().expect("must be a valid semantic version");
146+
assert_eq!(version.base(), expected);
147+
}
148+
}

0 commit comments

Comments
 (0)