@@ -8,8 +8,7 @@ import subprocess
88from datetime import datetime
99from typing import List
1010
11- from git import Tag
12- from github import Github , Repository
11+ from github import Github , Repository , Tag
1312from packaging .version import Version
1413
1514# http://docs.python.org/2/howto/logging.html#library-config
@@ -20,7 +19,7 @@ logging.basicConfig(level=logging.CRITICAL)
2019
2120_LOGGER = logging .getLogger (__name__ )
2221
23- VERSION = "1.1.0 "
22+ VERSION = "1.1.1 "
2423
2524ROOT = os .path .dirname (os .path .abspath (f"{ __file__ } /.." ))
2625
@@ -47,14 +46,16 @@ def get_commits(repo: Repository, since: datetime, until: datetime):
4746 return reversed (list (commits )[:- 1 ])
4847
4948
50- def get_release_tags (repo : Repository ) -> List [Tag ]:
49+ def get_release_tags (repo : Repository ) -> List [Tag . Tag ]:
5150 """Get list of all release tags from repository."""
52- tags = list (repo .get_tags ())
5351 reg = re .compile (
54- r"(v|^) ?[0-9]+\.[0-9]+\.[0-9]+"
52+ r"^v ?[0-9]+\.[0-9]+\.[0-9]+"
5553 r"(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+)?$"
5654 )
57- return list (filter (lambda tag : re .match (reg , tag .name ), tags ))
55+ tags = list (filter (lambda tag : re .match (reg , tag .name ), list (repo .get_tags ())))
56+ tags .sort (key = lambda x : x .name .lstrip ("v" ), reverse = True )
57+ _LOGGER .debug ("Found tags: %s" , tags )
58+ return tags
5859
5960
6061def get_period (repo : Repository , release : str = None ) -> List [datetime ]:
0 commit comments