Skip invalid git tags in versions.py

Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
Daniel Nephin 2016-05-12 14:41:40 -04:00
parent 72f6a5c8d3
commit 4bf5271ae2
1 changed files with 10 additions and 1 deletions

View File

@ -28,6 +28,7 @@ from __future__ import unicode_literals
import argparse
import itertools
import operator
import sys
from collections import namedtuple
import requests
@ -103,6 +104,14 @@ def get_default(versions):
return version
def get_versions(tags):
for tag in tags:
try:
yield Version.parse(tag['name'])
except ValueError:
print("Skipping invalid tag: {name}".format(**tag), file=sys.stderr)
def get_github_releases(project):
"""Query the Github API for a list of version tags and return them in
sorted order.
@ -112,7 +121,7 @@ def get_github_releases(project):
url = '{}/{}/tags'.format(GITHUB_API, project)
response = requests.get(url)
response.raise_for_status()
versions = [Version.parse(tag['name']) for tag in response.json()]
versions = get_versions(response.json())
return sorted(versions, reverse=True, key=operator.attrgetter('order'))