|
19 | 19 | ARCH = os.uname().machine |
20 | 20 |
|
21 | 21 | # 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). |
23 | 23 | VERSION_MAP = { |
24 | 24 | 4: {'last_minor': 22} |
25 | 25 | } |
@@ -393,17 +393,23 @@ def generate_common_versions(major_version, minor_version): |
393 | 393 |
|
394 | 394 |
|
395 | 395 | def 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 | + |
396 | 402 | 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=parse_major_minor, help="The major.minor version number.") |
399 | 404 | parser.add_argument("--update-file", default=False, action="store_true", help="Update test/bin/common_versions.sh file.") |
400 | 405 | parser.add_argument("--create-pr", default=False, action="store_true", |
401 | 406 | help=("Commit the changes to a new branch, push it to the openshift/microshift, and create a pull request." + |
402 | 407 | "Implies --update-file. Expects following env vars to be set: ORG, REPO, GH_TOKEN or APP_ID and KEY")) |
403 | 408 | parser.add_argument("--dry-run", default=False, action="store_true", help="Dry run") |
404 | 409 | args = parser.parse_args() |
405 | 410 |
|
406 | | - output = generate_common_versions(args.major, args.minor) |
| 411 | + major, minor = args.version |
| 412 | + output = generate_common_versions(major, minor) |
407 | 413 |
|
408 | 414 | if args.update_file or args.create_pr: |
409 | 415 | logging.info("Updating test/bin/common_versions.sh file") |
|
0 commit comments