blob: f75fd50300881b95772314a65762ee00831a8355 [file] [log] [blame]
Tom Stellard9d05de22022-07-26 16:52:53 -07001#!/usr/bin/python3
2
3from git import Repo
4import re
5import sys
6
Tom Stellard5b108df2022-08-19 21:51:00 -07007
8def get_version_from_tag(tag):
Tobias Hietae46aa6d2023-05-26 08:11:06 +02009 m = re.match("llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)(-rc[0-9]+)?$", tag)
Tom Stellard5b108df2022-08-19 21:51:00 -070010 if m:
11 if m.lastindex == 4:
12 # We have an rc tag.
Tobias Hietae46aa6d2023-05-26 08:11:06 +020013 return m.group(1, 2, 3)
Tom Stellard5b108df2022-08-19 21:51:00 -070014 # We have a final release tag.
Tobias Hieta24c10ab2022-09-15 13:32:32 +020015 return (m.group(1), m.group(2), str(int(m.group(3)) + 1))
Tom Stellard5b108df2022-08-19 21:51:00 -070016
Tobias Hietae46aa6d2023-05-26 08:11:06 +020017 m = re.match("llvmorg-([0-9]+)-init", tag)
Tom Stellard5b108df2022-08-19 21:51:00 -070018 if m:
Tom Stellardd5e69142024-01-25 12:24:50 -080019 return (m.group(1), "1", "0")
Tom Stellard5b108df2022-08-19 21:51:00 -070020
21 raise Exception(f"error: Tag is not valid: {tag}")
22
23
Tom Stellard9d05de22022-07-26 16:52:53 -070024version = sys.argv[1]
25
26repo = Repo()
27
Tobias Hietae46aa6d2023-05-26 08:11:06 +020028tag = repo.git.describe(tags=True, abbrev=0)
29expected_version = ".".join(get_version_from_tag(tag))
Tom Stellard9d05de22022-07-26 16:52:53 -070030
31if version != expected_version:
32 print("error: Expected version", expected_version, "but found version", version)
33 sys.exit(1)
34
35print("Versions match:", version, expected_version)
36sys.exit(0)