Skip to content

Commit d7be806

Browse files
authored
Relax major version check for pre-releases (#22734)
1 parent 3e75937 commit d7be806

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

build/update_ext_version.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,23 @@ def main(package_json: pathlib.Path, argv: Sequence[str]) -> None:
7070
major, minor, micro, suffix = parse_version(package["version"])
7171

7272
current_year = datetime.datetime.now().year
73-
if int(major) != current_year:
73+
current_month = datetime.datetime.now().month
74+
int_major = int(major)
75+
valid_major = (
76+
int_major
77+
== current_year # Between JAN-DEC major version should be current year
78+
or (
79+
int_major == current_year - 1 and current_month == 1
80+
) # After new years the check is relaxed for JAN to allow releases of previous year DEC
81+
or (
82+
int_major == current_year + 1 and current_month == 12
83+
) # Before new years the check is relaxed for DEC to allow pre-releases of next year JAN
84+
)
85+
if not valid_major:
7486
raise ValueError(
7587
f"Major version [{major}] must be the current year [{current_year}].",
7688
f"If changing major version after new year's, change to {current_year}.1.0",
89+
f"Minor version must be updated based on release or pre-release channel.",
7790
)
7891

7992
if args.release and not is_even(minor):

0 commit comments

Comments
 (0)