diff -r 802ee93c205d -r 5e788dc7fb5d contrib/automation/hgautomation/cli.py --- a/contrib/automation/hgautomation/cli.py Fri Apr 24 12:11:08 2020 -0700 +++ b/contrib/automation/hgautomation/cli.py Fri Apr 24 12:37:43 2020 -0700 @@ -92,7 +92,13 @@ def build_wix( - hga: HGAutomation, aws_region, arch, revision, version, base_image_name + hga: HGAutomation, + aws_region, + python_version, + arch, + revision, + version, + base_image_name, ): c = hga.aws_connection(aws_region) image = aws.ensure_windows_dev_ami(c, base_image_name=base_image_name) @@ -103,10 +109,15 @@ windows.synchronize_hg(SOURCE_ROOT, revision, instance) - for a in arch: - windows.build_wix_installer( - instance.winrm_client, a, DIST_PATH, version=version - ) + for py_version in python_version: + for a in arch: + windows.build_wix_installer( + instance.winrm_client, + py_version, + a, + DIST_PATH, + version=version, + ) def build_windows_wheel( @@ -163,12 +174,9 @@ windows.build_inno_installer( winrm_client, py_version, arch, DIST_PATH, version=version ) - - for arch in ('x86', 'x64'): - windows.purge_hg(winrm_client) - windows.build_wix_installer( - winrm_client, arch, DIST_PATH, version=version - ) + windows.build_wix_installer( + winrm_client, py_version, arch, DIST_PATH, version=version + ) def terminate_ec2_instances(hga: HGAutomation, aws_region): @@ -379,6 +387,14 @@ sp = subparsers.add_parser('build-wix', help='Build WiX installer(s)') sp.add_argument( + '--python-version', + help='Which version of Python to target', + choices={2, 3}, + type=int, + nargs='*', + default=[3], + ) + sp.add_argument( '--arch', help='Architecture to build for', choices={'x86', 'x64'},