Merge "Fix release-note parsing of deliverable files"
This commit is contained in:
@@ -596,7 +596,7 @@ def main():
|
|||||||
include_pypi_link=False,
|
include_pypi_link=False,
|
||||||
changes_only=False,
|
changes_only=False,
|
||||||
first_release=deliv.is_first_release,
|
first_release=deliv.is_first_release,
|
||||||
repo_name=project.repo.name,
|
deliverable_file=filename,
|
||||||
description='',
|
description='',
|
||||||
publishing_dir_name=project.repo.name,
|
publishing_dir_name=project.repo.name,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ def main():
|
|||||||
include_pypi_link=args.include_pypi_link,
|
include_pypi_link=args.include_pypi_link,
|
||||||
changes_only=args.changes_only,
|
changes_only=args.changes_only,
|
||||||
first_release=args.first_release,
|
first_release=args.first_release,
|
||||||
repo_name=args.repo_name,
|
deliverable_file=None,
|
||||||
description=args.description,
|
description=args.description,
|
||||||
publishing_dir_name=args.publishing_dir_name or args.repo_name,
|
publishing_dir_name=args.publishing_dir_name or args.repo_name,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -183,20 +183,24 @@ release crew's attention.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def parse_deliverable(series, repo):
|
def parse_deliverable(series, repo, deliverable_file=None):
|
||||||
"""Parse useful information out of the deliverable file.
|
"""Parse useful information out of the deliverable file.
|
||||||
|
|
||||||
Currently only parses the bug URL, but could potentially be expanded to get
|
Currently only parses the bug URL, but could potentially be expanded to get
|
||||||
other useful settings.
|
other useful settings.
|
||||||
|
|
||||||
:param series: The release series being processed.
|
:param series: The release series being processed.
|
||||||
:param repo: The name of the deliverable.
|
:param repo: The name of the repo.
|
||||||
|
:param deliverable_file: The deliverable file.
|
||||||
"""
|
"""
|
||||||
release_repo = os.path.realpath(
|
release_repo = os.path.realpath(
|
||||||
os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
|
os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
|
||||||
|
|
||||||
deliverable_path = os.path.join(
|
if deliverable_file is None:
|
||||||
release_repo, 'deliverables', series.lower(), "%s.yaml" % repo)
|
deliverable_file = os.path.join(
|
||||||
|
'deliverables', series.lower(), '%s.yaml' % repo)
|
||||||
|
|
||||||
|
deliverable_path = os.path.join(release_repo, deliverable_file)
|
||||||
|
|
||||||
# Hard coding source URL for now
|
# Hard coding source URL for now
|
||||||
sections = {
|
sections = {
|
||||||
@@ -252,7 +256,7 @@ def generate_release_notes(repo, repo_path,
|
|||||||
include_pypi_link,
|
include_pypi_link,
|
||||||
changes_only,
|
changes_only,
|
||||||
first_release,
|
first_release,
|
||||||
repo_name, description,
|
deliverable_file, description,
|
||||||
publishing_dir_name,
|
publishing_dir_name,
|
||||||
):
|
):
|
||||||
"""Return the text of the release notes.
|
"""Return the text of the release notes.
|
||||||
@@ -280,12 +284,12 @@ def generate_release_notes(repo, repo_path,
|
|||||||
the list of changes, without any extra data.
|
the list of changes, without any extra data.
|
||||||
:param first_release: Boolean indicating whether this is the first
|
:param first_release: Boolean indicating whether this is the first
|
||||||
release of the project
|
release of the project
|
||||||
:param repo_name: Name of the repo
|
:param deliverable_file: The deliverable file path from the repo root.
|
||||||
:param description: Description of the repo
|
:param description: Description of the repo
|
||||||
:param publishing_dir_name: The directory on publishings.openstack.org
|
:param publishing_dir_name: The directory on publishings.openstack.org
|
||||||
containing the package.
|
containing the package.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
repo_name = repo.split('/')[-1]
|
||||||
# Determine if this is a release candidate or not.
|
# Determine if this is a release candidate or not.
|
||||||
is_release_candidate = 'rc' in end_revision
|
is_release_candidate = 'rc' in end_revision
|
||||||
|
|
||||||
@@ -335,8 +339,9 @@ def generate_release_notes(repo, repo_path,
|
|||||||
diff_stats.append(line)
|
diff_stats.append(line)
|
||||||
|
|
||||||
# Extract + valdiate needed sections...
|
# Extract + valdiate needed sections...
|
||||||
sections = parse_deliverable(series, publishing_dir_name)
|
sections = parse_deliverable(
|
||||||
change_header = ["Changes in %s %s" % (repo_name, git_range)]
|
series, repo_name, deliverable_file=deliverable_file)
|
||||||
|
change_header = ["Changes in %s %s" % (repo, git_range)]
|
||||||
change_header.append("-" * len(change_header[0]))
|
change_header.append("-" * len(change_header[0]))
|
||||||
|
|
||||||
# Look for reno notes for this version.
|
# Look for reno notes for this version.
|
||||||
@@ -378,7 +383,7 @@ def generate_release_notes(repo, repo_path,
|
|||||||
|
|
||||||
params = dict(sections)
|
params = dict(sections)
|
||||||
params.update({
|
params.update({
|
||||||
'project': repo_name,
|
'project': repo,
|
||||||
'description': description,
|
'description': description,
|
||||||
'end_rev': end_revision,
|
'end_rev': end_revision,
|
||||||
'range': git_range,
|
'range': git_range,
|
||||||
|
|||||||
Reference in New Issue
Block a user