RULEAPI-824 Sort tags by version number instead of commited date when computing coverage
This commit is contained in:
parent
efa7462eae
commit
5fb2c9dd39
@ -195,11 +195,18 @@ VERSION_RE = re.compile(r'\d[\d\.]+')
|
|||||||
def is_version_tag(name):
|
def is_version_tag(name):
|
||||||
return bool(re.fullmatch(VERSION_RE, name))
|
return bool(re.fullmatch(VERSION_RE, name))
|
||||||
|
|
||||||
|
|
||||||
|
def comparable_version(key):
|
||||||
|
if not is_version_tag(key):
|
||||||
|
return [0]
|
||||||
|
return list(map(int, key.split('.')))
|
||||||
|
|
||||||
|
|
||||||
def collect_coverage_for_all_versions(repo, coverage):
|
def collect_coverage_for_all_versions(repo, coverage):
|
||||||
git_repo = checkout_repo(repo)
|
git_repo = checkout_repo(repo)
|
||||||
tags = git_repo.tags
|
tags = git_repo.tags
|
||||||
tags.sort(key = lambda t: t.commit.committed_date)
|
|
||||||
versions = [tag.name for tag in tags if is_version_tag(tag.name)]
|
versions = [tag.name for tag in tags if is_version_tag(tag.name)]
|
||||||
|
versions.sort(key = comparable_version)
|
||||||
for version in versions:
|
for version in versions:
|
||||||
collect_coverage_for_version(repo, git_repo, version, coverage)
|
collect_coverage_for_version(repo, git_repo, version, coverage)
|
||||||
collect_coverage_for_version(repo, git_repo, 'master', coverage)
|
collect_coverage_for_version(repo, git_repo, 'master', coverage)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user