audit and harden workspace
This commit is contained in:
34
scripts/verify-workspace.ps1
Normal file
34
scripts/verify-workspace.ps1
Normal file
@@ -0,0 +1,34 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[switch]$SkipVet
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$workspaceRoot = Split-Path -Parent $PSScriptRoot
|
||||
Push-Location $workspaceRoot
|
||||
try {
|
||||
$unformatted = @(gofmt -l all module)
|
||||
if ($unformatted.Count -gt 0) {
|
||||
throw ("gofmt required:" + [Environment]::NewLine + ($unformatted -join [Environment]::NewLine))
|
||||
}
|
||||
|
||||
$modules = @(go list -m -f '{{.Dir}}')
|
||||
foreach ($module in $modules) {
|
||||
Write-Host "==> $module"
|
||||
Push-Location $module
|
||||
try {
|
||||
if (-not $SkipVet) {
|
||||
go vet ./...
|
||||
if ($LASTEXITCODE -ne 0) { throw "go vet failed: $module" }
|
||||
}
|
||||
go test ./...
|
||||
if ($LASTEXITCODE -ne 0) { throw "go test failed: $module" }
|
||||
}
|
||||
finally {
|
||||
Pop-Location
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
Pop-Location
|
||||
}
|
||||
Reference in New Issue
Block a user