This commit is contained in:
lawrencegripper
2025-01-31 10:04:51 +00:00
parent 78d2d49784
commit 3bc475f72e

View File

@@ -7,6 +7,7 @@ Install-Module -Name GripDevJsonSchemaValidator -Force -Scope CurrentUser
$toolsetFiles = Get-ChildItem -Recurse -Filter "toolset-*.json" | Where-Object { $_.Name -notlike "*schema.json" }
$schemaFilePath = "./schemas/toolset-schema.json"
$toolsetHasErrors = $false
foreach ($file in $toolsetFiles) {
Write-Host "🔍 Validating $($file.FullName)" -ForegroundColor Cyan
@@ -15,15 +16,21 @@ foreach ($file in $toolsetFiles) {
if ($validationResult.Valid) {
Write-Host "✅ JSON is valid." -ForegroundColor Green
} else {
$toolsetHasErrors = $true
Write-Host "`n❌ JSON validation failed!" -ForegroundColor Red
Write-Host " Found the following errors:`n" -ForegroundColor Yellow
$validationResult.Errors | ForEach-Object {
Write-Host $_.UserMessage
if ($env:GITHUB_ACTIONS -eq 'true') {
Write-Host "::error file=$($file.Name),line=$($_.LineNumber)::$($_.UserMessage)"
Write-Host "Adding annotation"
Write-Host "::error file=$($file.Name),line=$($_.LineNumber)::$($_.UserMessage.Replace("`n", '%0A'))"
}
}
}
}
Write-Host "Schema validation completed successfully"
if ($toolsetHasErrors) {
Write-Error "One or more toolset JSON files failed schema validation. See the error output above for more details."
} else {
Write-Host "Schema validation completed successfully"
}