Merge "fix release notes for final releases"

This commit is contained in:
Jenkins 2016-08-22 11:39:44 +00:00 committed by Gerrit Code Review
commit e76e49a35c
2 changed files with 21 additions and 2 deletions

View File

@ -107,6 +107,14 @@ function get_tag_meta {
echo "$TAG_META" | grep "^meta:$fieldname:" | cut -f2 -d' ' echo "$TAG_META" | grep "^meta:$fieldname:" | cut -f2 -d' '
} }
# How far back should we look for release info? If there is no
# explicit metadata (signaled by passing "-"), use whatever previous
# version number we were able to detect.
DIFF_START=$(get_tag_meta diff-start)
if [[ "$DIFF_START" == "-" ]]; then
DIFF_START="$PREVIOUS_VERSION"
fi
# The series name is part of the commit message left by release.sh. # The series name is part of the commit message left by release.sh.
SERIES=$(get_tag_meta series) SERIES=$(get_tag_meta series)
@ -148,7 +156,7 @@ if [[ "$INCLUDE_PYPI_LINK" == "yes" ]]; then
include_pypi_link="--include-pypi-link" include_pypi_link="--include-pypi-link"
fi fi
echo "$PREVIOUS_VERSION to $VERSION on $SERIES" echo "$DIFF_START to $VERSION on $SERIES"
relnotes_file="$RELNOTESDIR/$SHORTNAME-$VERSION" relnotes_file="$RELNOTESDIR/$SHORTNAME-$VERSION"
@ -159,7 +167,7 @@ release-notes \
--series $SERIES \ --series $SERIES \
$stable \ $stable \
$first_release \ $first_release \
. "$PREVIOUS_VERSION" "$VERSION" \ . "$DIFF_START" "$VERSION" \
$include_pypi_link \ $include_pypi_link \
| tee $relnotes_file | tee $relnotes_file

View File

@ -28,11 +28,19 @@ PROJECT_TEMPLATE = '''\
VERSION_TEMPLATE = '''\ VERSION_TEMPLATE = '''\
- version: {version} - version: {version}
diff-start: {diff_start}
projects: projects:
{projects} {projects}
''' '''
def get_prior_branch_point(version):
"Assuming we always branch on the rc1 tag..."
parts = version.split('.')
prior = int(parts[0]) - 1
return '{}.0.0.0rc1'.format(prior)
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument( parser.add_argument(
@ -88,8 +96,10 @@ def main():
print('# not a release candidate') print('# not a release candidate')
continue continue
new_version = latest_release['version'].split('.0rc')[0] new_version = latest_release['version'].split('.0rc')[0]
diff_start = get_prior_branch_point(new_version)
deliverable_data['releases'].append({ deliverable_data['releases'].append({
'version': new_version, 'version': new_version,
'diff_start': diff_start,
'projects': latest_release['projects'], 'projects': latest_release['projects'],
}) })
print('new version for {}: {}'.format(os.path.basename(filename), print('new version for {}: {}'.format(os.path.basename(filename),
@ -101,6 +111,7 @@ def main():
for p in latest_release['projects']) for p in latest_release['projects'])
new_block = VERSION_TEMPLATE.format( new_block = VERSION_TEMPLATE.format(
version=new_version, version=new_version,
diff_start=diff_start,
projects=projects, projects=projects,
).rstrip() + '\n' ).rstrip() + '\n'
with open(filename, 'a') as f: with open(filename, 'a') as f: