# Builds the release artefacts for the current platform (Windows): # target/release/am.exe -> dist/am-windows-x86_64.zip # Also prints the sha256 of every archive (for the packaging manifests). param([switch]$NoTest) $ErrorActionPreference = "Stop" cargo build --release --locked if (-not $NoTest) { cargo test --release --locked } New-Item -ItemType Directory -Force dist | Out-Null $zip = "dist/am-windows-x86_64.zip" Remove-Item $zip -ErrorAction SilentlyContinue Compress-Archive -Path target/release/am.exe -DestinationPath $zip Write-Host "" Write-Host "Artefacts:" Get-ChildItem dist | ForEach-Object { $hash = (Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLower() Write-Host (" {0,-32} {1} sha256:{2}" -f $_.Name, $_.Length, $hash) }