You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gpustack/hack/windows/validate.ps1

44 lines
1.3 KiB

$ErrorActionPreference = "Stop"
# Get the root directory and third_party directory
$ROOT_DIR = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent | Split-Path -Parent | Split-Path -Parent -Resolve
# Include the common functions
. "$ROOT_DIR/hack/lib/windows/init.ps1"
function Validate {
param (
[string]$file
)
# Generate the current checksum
$currentChecksum = Get-FileHash -Path $file -Algorithm SHA256
$generatedChecksumFile = "${file}.generated.sha256sum"
$currentChecksum.Hash | Out-File -FilePath $generatedChecksumFile
# Compare with the expected checksum
$expectedChecksumFile = "${file}.sha256sum"
$expectedChecksum = Get-Content -Path $expectedChecksumFile
if ($currentChecksum.Hash -eq $expectedChecksum.Trim()) {
GPUStack.Log.Info "Checksums match."
Remove-Item -Path $generatedChecksumFile
}
else {
GPUStack.Log.Fatal "Checksums do not match!`nPlease run 'Get-FileHash -Path install.ps1 -Algorithm SHA256 | Select -ExpandProperty Hash > install.ps1.sha256sum' to update the checksum."
}
}
#
# main
#
GPUStack.Log.Info "+++ VALIDATE +++"
try {
Validate -file "install.ps1"
}
catch {
GPUStack.Log.Fatal "failed to test: $($_.Exception.Message)"
}
GPUStack.Log.Info "--- VALIDATE ---"