mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 22:05:17 +00:00
Merge branch 'main' into lg/postgres-win-update
This commit is contained in:
@@ -70,7 +70,7 @@ function Install-Binary {
|
||||
} else {
|
||||
$fileName = [System.IO.Path]::GetFileNameWithoutExtension([System.IO.Path]::GetRandomFileName()) + ".$Type".ToLower()
|
||||
}
|
||||
$filePath = Invoke-DownloadWithRetry -Url $Url -Path "${env:Temp}\$fileName"
|
||||
$filePath = Invoke-DownloadWithRetry -Url $Url -Path "${env:TEMP_DIR}\$fileName"
|
||||
}
|
||||
|
||||
if ($PSBoundParameters.ContainsKey('ExpectedSignature')) {
|
||||
@@ -92,7 +92,7 @@ function Install-Binary {
|
||||
if ($ExtraInstallArgs -and $InstallArgs) {
|
||||
throw "InstallArgs and ExtraInstallArgs parameters cannot be used together."
|
||||
}
|
||||
|
||||
|
||||
if ($Type -eq "MSI") {
|
||||
# MSI binaries should be installed via msiexec.exe
|
||||
if ($ExtraInstallArgs) {
|
||||
@@ -157,7 +157,7 @@ function Invoke-DownloadWithRetry {
|
||||
.EXAMPLE
|
||||
Invoke-DownloadWithRetry -Url "https://example.com/file.zip"
|
||||
Downloads the file from the specified URL and saves it to a temporary path.
|
||||
|
||||
|
||||
.OUTPUTS
|
||||
The path where the downloaded file is saved.
|
||||
#>
|
||||
@@ -178,7 +178,7 @@ function Invoke-DownloadWithRetry {
|
||||
if ([String]::IsNullOrEmpty($fileName)) {
|
||||
$fileName = [System.IO.Path]::GetRandomFileName()
|
||||
}
|
||||
$Path = Join-Path -Path "${env:Temp}" -ChildPath $fileName
|
||||
$Path = Join-Path -Path "${env:TEMP_DIR}" -ChildPath $fileName
|
||||
}
|
||||
|
||||
Write-Host "Downloading package from $Url to $Path..."
|
||||
@@ -202,7 +202,7 @@ function Invoke-DownloadWithRetry {
|
||||
$retries = 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($retries -eq 0) {
|
||||
$totalSeconds = [math]::Round(($(Get-Date) - $downloadStartTime).TotalSeconds, 2)
|
||||
throw "Package download failed after $totalSeconds seconds"
|
||||
@@ -523,7 +523,7 @@ function Get-GithubReleasesByVersion {
|
||||
.PARAMETER AllowPrerelease
|
||||
Specifies whether to include prerelease versions in the results. By default,
|
||||
prerelease versions are excluded.
|
||||
|
||||
|
||||
.PARAMETER WithAssetsOnly
|
||||
Specifies whether to exclude releases without assets. By default, releases without
|
||||
assets are included.
|
||||
@@ -553,7 +553,7 @@ function Get-GithubReleasesByVersion {
|
||||
[switch] $WithAssetsOnly
|
||||
)
|
||||
|
||||
$localCacheFile = Join-Path ${env:TEMP} "github-releases_$($Repository -replace "/", "_").json"
|
||||
$localCacheFile = Join-Path ${env:TEMP_DIR} "github-releases_$($Repository -replace "/", "_").json"
|
||||
|
||||
if (Test-Path $localCacheFile) {
|
||||
$releases = Get-Content $localCacheFile | ConvertFrom-Json
|
||||
@@ -787,7 +787,7 @@ function Get-ChecksumFromGithubRelease {
|
||||
}
|
||||
|
||||
$hash = $matchedLine | Select-String -Pattern $pattern | ForEach-Object { $_.Matches.Value }
|
||||
|
||||
|
||||
if ([string]::IsNullOrEmpty($hash)) {
|
||||
throw "Found '${FileName}' in body of release ${matchedVersion}, but failed to get hash from it.`nLine: ${matchedLine}"
|
||||
}
|
||||
@@ -831,7 +831,7 @@ function Get-ChecksumFromUrl {
|
||||
[string] $HashType
|
||||
)
|
||||
|
||||
$tempFile = Join-Path -Path $env:TEMP -ChildPath ([System.IO.Path]::GetRandomFileName())
|
||||
$tempFile = Join-Path -Path $env:TEMP_DIR -ChildPath ([System.IO.Path]::GetRandomFileName())
|
||||
$checksums = (Invoke-DownloadWithRetry -Url $Url -Path $tempFile | Get-Item | Get-Content) -as [string[]]
|
||||
Remove-Item -Path $tempFile
|
||||
|
||||
@@ -864,30 +864,30 @@ function Test-FileChecksum {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Verifies the checksum of a file.
|
||||
|
||||
|
||||
.DESCRIPTION
|
||||
The Test-FileChecksum function verifies the SHA256 or SHA512 checksum of a file against an expected value.
|
||||
If the checksum does not match the expected value, the function throws an error.
|
||||
|
||||
|
||||
.PARAMETER Path
|
||||
The path to the file for which to verify the checksum.
|
||||
|
||||
|
||||
.PARAMETER ExpectedSHA256Sum
|
||||
The expected SHA256 checksum. If this parameter is provided, the function will calculate the SHA256 checksum of the file and compare it to this value.
|
||||
|
||||
|
||||
.PARAMETER ExpectedSHA512Sum
|
||||
The expected SHA512 checksum. If this parameter is provided, the function will calculate the SHA512 checksum of the file and compare it to this value.
|
||||
|
||||
|
||||
.EXAMPLE
|
||||
Test-FileChecksum -Path "C:\temp\file.txt" -ExpectedSHA256Sum "ABC123"
|
||||
|
||||
|
||||
Verifies that the SHA256 checksum of the file at C:\temp\file.txt is ABC123.
|
||||
|
||||
|
||||
.EXAMPLE
|
||||
Test-FileChecksum -Path "C:\temp\file.txt" -ExpectedSHA512Sum "DEF456"
|
||||
|
||||
|
||||
Verifies that the SHA512 checksum of the file at C:\temp\file.txt is DEF456.
|
||||
|
||||
|
||||
#>
|
||||
|
||||
param (
|
||||
@@ -948,7 +948,7 @@ function Test-FileSignature {
|
||||
This example tests the signature of the file "C:\Path\To\File.exe" against the expected thumbprint "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0".
|
||||
|
||||
#>
|
||||
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory = $true, Position = 0)]
|
||||
[string] $Path,
|
||||
@@ -961,7 +961,7 @@ function Test-FileSignature {
|
||||
if ($signature.Status -ne "Valid") {
|
||||
throw "Signature status is not valid. Status: $($signature.Status)"
|
||||
}
|
||||
|
||||
|
||||
foreach ($thumbprint in $ExpectedThumbprint) {
|
||||
if ($signature.SignerCertificate.Thumbprint.Contains($thumbprint)) {
|
||||
Write-Output "Signature for $Path is valid"
|
||||
@@ -996,8 +996,8 @@ function Update-Environment {
|
||||
)
|
||||
|
||||
# Update PATH variable
|
||||
$pathItems = $locations | ForEach-Object {
|
||||
(Get-Item $_).GetValue('PATH').Split(';')
|
||||
$pathItems = $locations | ForEach-Object {
|
||||
(Get-Item $_).GetValue('PATH').Split(';')
|
||||
} | Select-Object -Unique
|
||||
$env:PATH = $pathItems -join ';'
|
||||
|
||||
@@ -1008,7 +1008,7 @@ function Update-Environment {
|
||||
$value = $key.GetValue($name)
|
||||
if (-not ($name -ieq 'PATH')) {
|
||||
Set-Item -Path Env:$name -Value $value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user