The progress bar in PowerShell makes Invoke-WebRequest literally 50x slower. Downloading the .iso for building dev images would probably hit the default 60 minute timeout with progress enabled. With progress disabled it completes in a few minutes like you’d expect. This is especially galling because progress is not rendered by pipelines so it is wasted work.
Can we start a discussion with the ADO and GitHub Actions folks to see if their PowerShell tasks can disable progress automatically? That would be an immediate boost in pipeline performance with no downside that I’m aware of. Disabling progress in PowerShell just requires a single line of setup:
$ProgressPreference = 'SilentlyContinue';
This has been copied to and is tracked in Azure Pipelines backlog. Since this issue is not related to the GitHug Actions integration with Azure Pipelines, we are closing this issue here.
There is a feature request for pipelines -
For the above can we please check if any changes are needed in the pipelines Action? Related on ADO - https://dev.azure.com/mseng/AzureDevOps/_workitems/edit/1914047