Skip to main content

check_version_consistency

Function check_version_consistency 

Source
pub fn check_version_consistency(
    tag_version: Option<&str>,
    config_files: &[(String, Option<String>)],
) -> bool
Expand description

检查 tag 版本与配置文件版本是否一致。

config_files 来自 source::version::read_config_versionstag_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)]));