From dbf634ee7cbdb9bd2d75b4fdb7f647829aea65c8 Mon Sep 17 00:00:00 2001 From: Naren Soni Date: Tue, 8 Oct 2024 14:13:10 -0700 Subject: [PATCH] Generating sha files for core tools artifacts (#3871) --- .../PipelineHelpers/zipCliArtifacts.ps1 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Azure.Functions.ArtifactAssembler/PipelineHelpers/zipCliArtifacts.ps1 b/src/Azure.Functions.ArtifactAssembler/PipelineHelpers/zipCliArtifacts.ps1 index 6703e2d1b..6f595fec5 100644 --- a/src/Azure.Functions.ArtifactAssembler/PipelineHelpers/zipCliArtifacts.ps1 +++ b/src/Azure.Functions.ArtifactAssembler/PipelineHelpers/zipCliArtifacts.ps1 @@ -2,13 +2,22 @@ param ( [string]$StagingDirectory ) +function GenerateSha([string]$filePath,[string]$artifactsPath, [string]$shaFileName) +{ + $sha = (Get-FileHash $filePath).Hash.ToLower() + $shaPath = Join-Path $artifactsPath "$shaFileName.sha2" + Out-File -InputObject $sha -Encoding ascii -FilePath $shaPath -NoNewline + Write-Host "Generated sha for $filePath at $shaFileName" +} + # Get all directories in the staging directory $directories = Get-ChildItem -Path $StagingDirectory -Directory # Iterate over each directory and create a zip file for each one foreach ($dir in $directories) { # Define the zip file name (same as directory name, but with .zip extension) - $zipFile = "$StagingDirectory\$($dir.Name).zip" + $zipFileName = "$($dir.Name).zip" + $zipFile = "$StagingDirectory\$zipFileName" # Compress the directory into the zip file Compress-Archive -Path $dir.FullName -DestinationPath $zipFile -Force @@ -23,6 +32,8 @@ foreach ($dir in $directories) { } else { Write-Host "Failed to create zip for: $($dir.FullName)" } + + GenerateSha $zipFile $StagingDirectory "$zipFileName.sha2" } Write-Host "All directories zipped successfully!" \ No newline at end of file