pub fn check_version_consistency(
tag_version: Option<&str>,
config_files: &[(String, Option<String>)],
) -> boolExpand description
契约模块 — 适配层,委托给 quanttide-devops toolkit。
检查 tag 版本与配置文件版本是否一致。
config_files 来自 source::version::read_config_versions、
tag_version 来自 source::version::latest_tag。
本函数只做规则判定,不关心数据来源。
§一致性规则
- 有 tag:所有有版本号的配置文件必须与 tag 版本一致,无版本号的忽略
- 无 tag:所有配置文件必须无版本号
§示例
use quanttide_devops::contract::check_version_consistency;
assert!(check_version_consistency(
Some("0.1.0"),
&[("Cargo.toml".into(), Some("0.1.0".into()))],
));
assert!(!check_version_consistency(
Some("0.1.0"),
&[("Cargo.toml".into(), Some("0.2.0".into()))],
));
assert!(check_version_consistency(
Some("0.1.0"),
&[("Cargo.toml".into(), None)],
));
assert!(check_version_consistency(None, &[("Cargo.toml".into(), None)]));