Compare commits

...

2 Commits

Author SHA1 Message Date
Sébastien Morais b03f11f291
Merge 4de2ef7d8d into 82c7e631bb 2024-03-30 10:59:34 +00:00
Sebastien Morais 4de2ef7d8d FIX: Extract zip win
Related to https://github.com/actions/setup-python/issues/819

Changes consist in reordering extract utils to first attemps
ExtractToDirectory and then Expand-Archive. For some
reason the download CPython release was not correctly
handled by Expand-Archive. This could be happening if the
zip file was compressed using an unsupported
compression method (e.g. through `zip` with Unix/linux).
2024-03-30 11:58:31 +01:00

5
dist/setup/index.js vendored
View File

@ -9872,11 +9872,12 @@ function extractZipWin(file, dest) {
yield exec_1.exec(`"${pwshPath}"`, args);
}
else {
//attempt to use pwsh with ExtractToDirectory, if this fails attempt Expand-Archive
const powershellCommand = [
`$ErrorActionPreference = 'Stop' ;`,
`try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
].join(' ');
const args = [
'-NoLogo',