diff --git a/contrib/automation/hgautomation/aws.py b/contrib/automation/hgautomation/aws.py --- a/contrib/automation/hgautomation/aws.py +++ b/contrib/automation/hgautomation/aws.py @@ -904,7 +904,7 @@ def ensure_linux_dev_ami(c: AWSConnectio 'Ebs': { 'DeleteOnTermination': True, 'VolumeSize': 10, - 'VolumeType': 'gp2', + 'VolumeType': 'gp3', }, }, ], @@ -1048,7 +1048,7 @@ def temporary_linux_dev_instances( 'Ebs': { 'DeleteOnTermination': True, 'VolumeSize': 12, - 'VolumeType': 'gp2', + 'VolumeType': 'gp3', }, } ] @@ -1075,7 +1075,7 @@ def temporary_linux_dev_instances( 'Ebs': { 'DeleteOnTermination': True, 'VolumeSize': 8, - 'VolumeType': 'gp2', + 'VolumeType': 'gp3', }, } ) @@ -1151,13 +1151,13 @@ def ensure_windows_dev_ami( 'Ebs': { 'DeleteOnTermination': True, 'VolumeSize': 32, - 'VolumeType': 'gp2', + 'VolumeType': 'gp3', }, } ], 'ImageId': image.id, 'InstanceInitiatedShutdownBehavior': 'stop', - 'InstanceType': 't3.medium', + 'InstanceType': 'm6i.large', 'KeyName': '%sautomation' % prefix, 'MaxCount': 1, 'MinCount': 1, @@ -1311,7 +1311,7 @@ def temporary_windows_dev_instances( 'Ebs': { 'DeleteOnTermination': True, 'VolumeSize': 32, - 'VolumeType': 'gp2', + 'VolumeType': 'gp3', }, } ], diff --git a/contrib/automation/hgautomation/cli.py b/contrib/automation/hgautomation/cli.py --- a/contrib/automation/hgautomation/cli.py +++ b/contrib/automation/hgautomation/cli.py @@ -151,7 +151,7 @@ def build_all_windows_packages( image = aws.ensure_windows_dev_ami(c, base_image_name=base_image_name) DIST_PATH.mkdir(exist_ok=True) - with aws.temporary_windows_dev_instances(c, image, 't3.medium') as insts: + with aws.temporary_windows_dev_instances(c, image, 'm6i.large') as insts: instance = insts[0] winrm_client = instance.winrm_client @@ -496,7 +496,7 @@ def get_parser(): sp.add_argument( '--instance-type', help='EC2 instance type to use', - default='t3.medium', + default='m6i.large', ) sp.add_argument( '--python-version', diff --git a/rust/hg-core/src/dirstate_tree/status.rs b/rust/hg-core/src/dirstate_tree/status.rs --- a/rust/hg-core/src/dirstate_tree/status.rs +++ b/rust/hg-core/src/dirstate_tree/status.rs @@ -778,7 +778,17 @@ impl DirEntry { let mut results = Vec::new(); for entry in read_dir_path.read_dir()? { let entry = entry?; - let metadata = entry.metadata()?; + let metadata = match entry.metadata() { + Ok(v) => v, + Err(e) => { + // race with file deletion? + if e.kind() == std::io::ErrorKind::NotFound { + continue; + } else { + return Err(e); + } + } + }; let file_name = entry.file_name(); // FIXME don't do this when cached if file_name == ".hg" {