Skip to content

Commit 71b0bde

Browse files
committed
fix(ci): improve JSONL file handling in test validation workflow
1 parent 1231009 commit 71b0bde

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

.github/workflows/fortress-test-validation.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ jobs:
119119
if find ci-results/ -name "*.jsonl" 2>/dev/null | grep -q .; then
120120
echo "✅ Found CI results JSONL files"
121121
122-
for jsonl_file in $(find ci-results/ -name "*.jsonl" 2>/dev/null); do
122+
while IFS= read -r -d '' jsonl_file; do
123123
# Extract artifact directory name from JSONL file path
124124
# Supported directory structures:
125125
# 1. Expected: ci-results/ARTIFACT_NAME/.mage-x/ci-results.jsonl
@@ -207,12 +207,12 @@ jobs:
207207
TOTAL_FAILURES=$((TOTAL_FAILURES + FAILURE_COUNT))
208208
fi
209209
fi
210-
done
210+
done < <(find ci-results/ -name "*.jsonl" -print0 2>/dev/null)
211211
else
212212
echo "⚠️ No JSONL files found - checking for test-output.log files..."
213213
214214
# Fallback: check test-output.log files for exit codes
215-
for log_file in $(find ci-results/ -name "test-output.log" 2>/dev/null); do
215+
while IFS= read -r -d '' log_file; do
216216
echo "📄 Checking: $log_file"
217217
218218
# Look for FAIL indicators
@@ -222,7 +222,7 @@ jobs:
222222
FAIL_COUNT=$(grep -c "^--- FAIL:" "$log_file" 2>/dev/null || echo "1")
223223
TOTAL_FAILURES=$((TOTAL_FAILURES + FAIL_COUNT))
224224
fi
225-
done
225+
done < <(find ci-results/ -name "test-output.log" -print0 2>/dev/null)
226226
fi
227227
228228
# Final validation result
@@ -266,7 +266,7 @@ jobs:
266266
TOTAL_UNIQUE=0
267267
TOTAL_TESTS=0
268268
269-
for jsonl_file in $(find ci-results/ -name "*.jsonl" 2>/dev/null); do
269+
while IFS= read -r -d '' jsonl_file; do
270270
SUMMARY=$(grep '"type":"summary"' "$jsonl_file" 2>/dev/null | head -1 || echo "")
271271
if [[ -n "$SUMMARY" ]]; then
272272
PASSED=$(echo "$SUMMARY" | jq -r '.summary.passed // 0')
@@ -280,7 +280,7 @@ jobs:
280280
TOTAL_UNIQUE=$((TOTAL_UNIQUE + UNIQUE))
281281
TOTAL_TESTS=$((TOTAL_TESTS + TOTAL))
282282
fi
283-
done
283+
done < <(find ci-results/ -name "*.jsonl" -print0 2>/dev/null)
284284
285285
echo "- **Unique Tests**: $TOTAL_UNIQUE" >> $GITHUB_STEP_SUMMARY
286286
echo "- **Test Runs**: $TOTAL_TESTS" >> $GITHUB_STEP_SUMMARY
@@ -300,7 +300,7 @@ jobs:
300300
echo "### Test Matrix Results" >> $GITHUB_STEP_SUMMARY
301301
echo "" >> $GITHUB_STEP_SUMMARY
302302
303-
for jsonl_file in $(find ci-results/ -name "*.jsonl" 2>/dev/null); do
303+
while IFS= read -r -d '' jsonl_file; do
304304
# Extract artifact directory name from JSONL file path
305305
# Supported directory structures:
306306
# 1. Expected: ci-results/ARTIFACT_NAME/.mage-x/ci-results.jsonl
@@ -332,7 +332,7 @@ jobs:
332332
echo "- ❌ **$TEST_LABEL**: $FAILED failures" >> $GITHUB_STEP_SUMMARY
333333
fi
334334
fi
335-
done
335+
done < <(find ci-results/ -name "*.jsonl" -print0 2>/dev/null)
336336
fi
337337
338338
# Add detailed failure section if there are failures
@@ -344,7 +344,7 @@ jobs:
344344
echo "" >> $GITHUB_STEP_SUMMARY
345345
346346
FAILURE_COUNT=0
347-
for jsonl_file in $(find ci-results/ -name "*.jsonl" 2>/dev/null); do
347+
while IFS= read -r -d '' jsonl_file; do
348348
while read -r line; do
349349
# Limit total failures shown
350350
FAILURE_COUNT=$((FAILURE_COUNT + 1))
@@ -406,7 +406,7 @@ jobs:
406406
echo "</details>" >> $GITHUB_STEP_SUMMARY
407407
echo "" >> $GITHUB_STEP_SUMMARY
408408
done < <(grep '"type":"failure"' "$jsonl_file" 2>/dev/null)
409-
done
409+
done < <(find ci-results/ -name "*.jsonl" -print0 2>/dev/null)
410410
fi
411411
412412
# --------------------------------------------------------------------

0 commit comments

Comments
 (0)