Skip to content

Commit dd6904f

Browse files
ci(validation): improve output for readability, use lighter image
1 parent 492dbe8 commit dd6904f

2 files changed

Lines changed: 18 additions & 35 deletions

File tree

.github/workflows/regex.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,10 @@ on:
1818
jobs:
1919
validate:
2020
runs-on: ubuntu-latest
21+
container: mcr.microsoft.com/powershell:lts-alpine-3.18
2122
steps:
2223
- uses: actions/checkout@v4
2324

24-
- name: Setup PowerShell
25-
run: |
26-
sudo apt-get update
27-
sudo apt-get install -y powershell
28-
2925
- name: validate
3026
run: pwsh scripts/validateAllPatterns.ps1
3127

scripts/validateAllPatterns.ps1

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,8 @@ if ($patternFiles.Count -eq 0) {
2929
exit 1
3030
}
3131

32-
Write-Log -Level "INFO" -Message "Found $($patternFiles.Count) pattern files to validate"
33-
3432
# Validate patterns sequentially
3533
$failedPatterns = @()
36-
$completed = 0
37-
$totalFiles = $patternFiles.Count
38-
$lastPercentLogged = 0
3934

4035
foreach ($file in $patternFiles) {
4136
try {
@@ -53,36 +48,28 @@ foreach ($file in $patternFiles) {
5348
}
5449
catch {
5550
$failedPatterns += @{
56-
File = $file.FullName
57-
Error = $_.ToString()
58-
Pattern = $pattern
51+
File = $file.BaseName
52+
Error = $_.Exception.Message
5953
}
6054
}
61-
62-
$completed++
63-
64-
# Log progress every 10%
65-
$percentComplete = [math]::Floor(($completed / $totalFiles) * 10) * 10
66-
if ($percentComplete -gt $lastPercentLogged) {
67-
Write-Log -Level "INFO" -Message "$percentComplete% complete ($completed/$totalFiles files)"
68-
$lastPercentLogged = $percentComplete
69-
}
7055
}
7156

7257
# Log errors
73-
foreach ($failure in $failedPatterns) {
74-
Write-Log -Level "ERROR" -Message "$($failure.File): $($failure.Error)"
75-
if ($Verbose) {
76-
Write-Log -Level "ERROR" -Message "Pattern was: $($failure.Pattern)"
77-
}
78-
}
79-
80-
# Summary
8158
if ($failedPatterns.Count -gt 0) {
82-
Write-Log -Level "ERROR" -Message "$($failedPatterns.Count) pattern(s) failed validation"
59+
Write-Host "ERRORS:"
60+
61+
# Find max name length for padding
62+
$maxNameLength = ($failedPatterns | ForEach-Object { $_.File.Length } | Measure-Object -Maximum).Maximum
63+
64+
foreach ($failure in $failedPatterns) {
65+
# Extract just the core error
66+
$errorMsg = $failure.Error
67+
if ($errorMsg -match "at offset (\d+)\. (.+?)\.?`"") {
68+
$errorMsg = "offset $($matches[1]): $($matches[2])"
69+
}
70+
71+
$paddedName = $failure.File.PadRight($maxNameLength)
72+
Write-Host " $paddedName | $errorMsg"
73+
}
8374
exit 1
84-
}
85-
else {
86-
Write-Log -Level "SUCCESS" -Message "All $($patternFiles.Count) patterns validated successfully"
87-
exit 0
8875
}

0 commit comments

Comments
 (0)