1919ARCH = os .uname ().machine
2020
2121# Version map defining the last minor version for each major version.
22- # Used for cross-major Y-1/Y-2 calculations (e.g., 5.0's Y-1 is 4.18 ).
22+ # Used for cross-major Y-1/Y-2 calculations (e.g., 5.0's Y-1 is 4.22 ).
2323VERSION_MAP = {
2424 4 : {'last_minor' : 22 }
2525}
@@ -393,17 +393,23 @@ def generate_common_versions(major_version, minor_version):
393393
394394
395395def main ():
396+ def parse_major_minor (value : str ):
397+ parts = value .split ("." )
398+ if len (parts ) != 2 or not all (p .isdigit () for p in parts ):
399+ raise argparse .ArgumentTypeError ("version must be in 'X.Y' format" )
400+ return int (parts [0 ]), int (parts [1 ])
401+
396402 parser = argparse .ArgumentParser (description = "Generate common_versions.sh variables." )
397- parser .add_argument ("--major" , type = int , default = 4 , help = "The major version number (default: 4)." )
398- parser .add_argument ("minor" , type = int , help = "The minor version number." )
403+ parser .add_argument ("version" , type = str , help = "The major.minor version number." )
399404 parser .add_argument ("--update-file" , default = False , action = "store_true" , help = "Update test/bin/common_versions.sh file." )
400405 parser .add_argument ("--create-pr" , default = False , action = "store_true" ,
401406 help = ("Commit the changes to a new branch, push it to the openshift/microshift, and create a pull request." +
402407 "Implies --update-file. Expects following env vars to be set: ORG, REPO, GH_TOKEN or APP_ID and KEY" ))
403408 parser .add_argument ("--dry-run" , default = False , action = "store_true" , help = "Dry run" )
404409 args = parser .parse_args ()
405410
406- output = generate_common_versions (args .major , args .minor )
411+ major , minor = parse_major_minor (args .version )
412+ output = generate_common_versions (major , minor )
407413
408414 if args .update_file or args .create_pr :
409415 logging .info ("Updating test/bin/common_versions.sh file" )
@@ -420,8 +426,8 @@ def main():
420426 exit (0 )
421427
422428 base_branch = g .git_repo .active_branch .name
423- if not base_branch .startswith (f"release-{ args .major } " ):
424- logging .error (f"Script is expected to be executed on branch starting with 'release-{ args .major } ', but it's { base_branch } " )
429+ if not base_branch .startswith (f"release-{ args .version } " ):
430+ logging .error (f"Script is expected to be executed on branch starting with 'release-{ args .version } ', but it's { base_branch } " )
425431 exit (1 )
426432
427433 gh = ghutils .GithubUtils (dry_run = args .dry_run )
0 commit comments