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()