From 752e24cef1e143bd54bb5e838278ada580a325ab Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 24 Jan 2018 14:34:29 -0500 Subject: [PATCH] add --dry-run to propose-library-branches Change-Id: I40b8868f2c02901628024a1ef4023bc451ad7e74 Signed-off-by: Doug Hellmann --- .../cmds/propose_library_branches.py | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/openstack_releases/cmds/propose_library_branches.py b/openstack_releases/cmds/propose_library_branches.py index 172f9d4089..d9750de83a 100644 --- a/openstack_releases/cmds/propose_library_branches.py +++ b/openstack_releases/cmds/propose_library_branches.py @@ -64,6 +64,12 @@ def main(): default=['library'], dest='types', ) + parser.add_argument( + '--dry-run', '-n', + default=False, + action='store_true', + help='report what action would be taken but do not take it', + ) parser.add_argument( 'deliverable', nargs='*', @@ -98,6 +104,7 @@ def main(): args.series, '*.yaml') verbose('Scanning {}'.format(pattern)) deliverable_files = sorted(glob.glob(pattern)) + new_branch = 'stable/' + args.series for filename in deliverable_files: deliverable_name = os.path.basename(filename)[:-5] @@ -113,14 +120,25 @@ def main(): print('{} has no releases, not branching'.format( deliverable_name)) continue - if 'branches' in deliverable_data: - print('{} already has branches'.format(deliverable_name)) + if 'branches' not in deliverable_data: + deliverable_data['branches'] = [] + skip = False + for b in deliverable_data['branches']: + if b['name'] == new_branch: + print('{} already has branch {}'.format( + deliverable_name, new_branch)) + skip = True + if skip: continue + latest_release = releases[-1] - deliverable_data['branches'].append({ - 'name': 'stable/' + args.series, - 'location': latest_release['version'], - }) - with open(filename, 'w', encoding='utf-8') as f: - f.write(yamlutils.dumps(deliverable_data)) + print('{} new branch {} at {}'.format( + deliverable_name, new_branch, latest_release['version'])) + if not args.dry_run: + deliverable_data['branches'].append({ + 'name': new_branch, + 'location': latest_release['version'], + }) + with open(filename, 'w', encoding='utf-8') as f: + f.write(yamlutils.dumps(deliverable_data))