mirror of
https://gitea.com/actions/setup-python.git
synced 2024-11-22 10:09:35 +01:00
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).
This commit is contained in:
parent
871daa956c
commit
4de2ef7d8d
1 changed files with 3 additions and 2 deletions
5
dist/setup/index.js
vendored
5
dist/setup/index.js
vendored
|
@ -9877,11 +9877,12 @@ function extractZipWin(file, dest) {
|
||||||
yield exec_1.exec(`"${pwshPath}"`, args);
|
yield exec_1.exec(`"${pwshPath}"`, args);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
//attempt to use pwsh with ExtractToDirectory, if this fails attempt Expand-Archive
|
||||||
const powershellCommand = [
|
const powershellCommand = [
|
||||||
`$ErrorActionPreference = 'Stop' ;`,
|
`$ErrorActionPreference = 'Stop' ;`,
|
||||||
`try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
|
`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 }`,
|
`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
|
||||||
`else {[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(' ');
|
].join(' ');
|
||||||
const args = [
|
const args = [
|
||||||
'-NoLogo',
|
'-NoLogo',
|
||||||
|
|
Loading…
Reference in a new issue