/ dev / validate_release_version.py
validate_release_version.py
 1  import argparse
 2  
 3  from packaging.version import Version
 4  
 5  
 6  def parse_args() -> argparse.Namespace:
 7      parser = argparse.ArgumentParser()
 8      parser.add_argument(
 9          "--version", help="Release version to validate, e.g., '1.2.3'", required=True
10      )
11      return parser.parse_args()
12  
13  
14  def main() -> None:
15      args = parse_args()
16      version = Version(args.version)
17      msg = (
18          f"Invalid release version: '{args.version}', "
19          "must be in the format of <major>.<minor>.<micro>"
20      )
21      assert len(version.release) == 3, msg
22  
23  
24  if __name__ == "__main__":
25      main()