have tag-releases skip closed series

We don't want the tag-releases job to re-process very old branches if
we need to update the data files in openstack/releases. For now we
hard-code a list of closed series.

Change-Id: Ife79d13de4e2abcf9db34b2d15859e1d048e592e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2018-02-21 17:53:02 -05:00
parent d398cc8507
commit d76313f901
1 changed files with 35 additions and 8 deletions

View File

@ -24,6 +24,25 @@ import subprocess
import yaml
# TODO(dhellmann): Instead of using a fixed list, look for the series
# name -eol tag to determine that a series is closed.
CLOSED_SERIES = set([
'austin',
'bexar',
'cactus',
'diablo',
'essex',
'folsom',
'grizzly',
'havana',
'icehouse',
'juno',
'kilo',
'liberty',
'mitaka',
'newton',
])
PRE_RELEASE_RE = re.compile('''
\.(\d+(?:[ab]|rc)+\d*)$
''', flags=re.VERBOSE | re.UNICODE)
@ -102,6 +121,22 @@ def process_release_requests(reporoot, filenames, meta_data):
# The file must have been deleted, skip it.
print(' {} was deleted'.format(basename))
continue
# The series name is part of the filename, rather than the file
# body. That causes release.sh to be called with series="_independent"
# for release:independent projects, and release.sh to use master branch
# to evaluate fixed bugs.
series_name = os.path.basename(
os.path.dirname(os.path.abspath(filename))
).lstrip('_')
# If the series is closed, do not process the file. We're
# likely updating old data in the releases repo and we do not
# want to reprocess any old branches or tags.
if series_name in CLOSED_SERIES:
print(' {} skipping closed series'.format(filename))
continue
with open(filename, 'r', encoding='utf-8') as f:
deliverable_data = yaml.load(f.read())
@ -130,14 +165,6 @@ def process_release_requests(reporoot, filenames, meta_data):
)
include_pypi_link = 'yes' if include_pypi_link else 'no'
# The series name is part of the filename, rather than the file
# body. That causes release.sh to be called with series="_independent"
# for release:independent projects, and release.sh to use master branch
# to evaluate fixed bugs.
series_name = os.path.basename(
os.path.dirname(os.path.abspath(filename))
).lstrip('_')
if deliverable_releases:
all_versions = {
rel['version']: rel for rel in deliverable_data['releases']