fix: Use leniency for semver parsing (#184)

This commit is contained in:
Gerald Pinder 2024-05-16 20:15:14 -04:00 committed by GitHub
parent e6905b4fcc
commit abedf4fc6b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 46 additions and 3 deletions

30
Cargo.lock generated
View file

@ -203,6 +203,7 @@ dependencies = [
"dunce",
"env_logger",
"fuzzy-matcher",
"lenient_semver",
"log",
"once_cell",
"open",
@ -812,6 +813,35 @@ version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lenient_semver"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de8de3f4f3754c280ce1c8c42ed8dd26a9c8385c2e5ad4ec5a77e774cea9c1ec"
dependencies = [
"lenient_semver_parser",
"semver",
]
[[package]]
name = "lenient_semver_parser"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f650c1d024ddc26b4bb79c3076b30030f2cf2b18292af698c81f7337a64d7d6"
dependencies = [
"lenient_semver_version_builder",
"semver",
]
[[package]]
name = "lenient_semver_version_builder"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9049f8ff49f75b946f95557148e70230499c8a642bf2d6528246afc7d0282d17"
dependencies = [
"semver",
]
[[package]]
name = "libc"
version = "0.2.153"

View file

@ -60,6 +60,7 @@ clap-verbosity-flag = "2"
clap_complete = "4"
clap_complete_nushell = "4"
fuzzy-matcher = "0.3"
lenient_semver = "0.4.2"
once_cell = "1.19.0"
open = "5"
os_info = "3.7" # update os module config and tests when upgrading os_info

View file

@ -30,6 +30,13 @@ test-secureblue:
DO +RUN_TESTS
test-secureblue-ucore:
FROM +build-template --src=template-secureblue-ucore
WORKDIR /tmp/test
COPY ./test-scripts/secureblue/*.sh ./
DO +RUN_TESTS
build-template:
ARG --required src
FROM DOCKERFILE \
@ -50,7 +57,13 @@ template-legacy-containerfile:
template-secureblue:
FROM +secureblue-base
RUN bluebuild -vv template -o Containerfile config/recipes/general/recipe-silverblue-nvidia.yml
RUN bluebuild -vv template -o Containerfile recipes/general/recipe-silverblue-nvidia.yml
SAVE ARTIFACT /test
template-secureblue-ucore:
FROM +secureblue-base
RUN bluebuild -vv template -o Containerfile recipes/server/recipe-server-main.yml
SAVE ARTIFACT /test

View file

@ -1,5 +1,4 @@
use blue_build_utils::constants::IMAGE_VERSION_LABEL;
use semver::Version;
use serde::Deserialize;
use serde_json::Value;
use std::collections::HashMap;
@ -20,7 +19,7 @@ impl ImageMetadata {
self.labels
.get(IMAGE_VERSION_LABEL)?
.as_str()
.and_then(|v| Version::parse(v).ok())?
.and_then(|v| lenient_semver::parse(v).ok())?
.major,
)
}