Skip to content

Commit 5aa8897

Browse files
committed
Streamline extraction of failed tests and improve feedback on JSON structure
1 parent de71069 commit 5aa8897

File tree

1 file changed

+4
-27
lines changed

1 file changed

+4
-27
lines changed

.github/actions/e2e/run-log-tests/action.yml

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,14 @@ runs:
2828
shell: bash
2929
# Filter failed E2E files from the result JSON file, and re-run them.
3030
run: |
31-
# Debug: Check if results file exists
31+
# Check if results file exists
3232
echo "Checking for results file: $E2E_RESULT_FILEPATH"
3333
if [[ -f "$E2E_RESULT_FILEPATH" ]]; then
3434
echo "Results file exists, size: $(wc -c < "$E2E_RESULT_FILEPATH") bytes"
3535
36-
# Extract failed test files and run only those
36+
# Extract failed test files using the correct JSON structure
3737
echo "Extracting failed test files..."
38-
39-
# Try multiple JSON structures to find failed tests
40-
FAILED_FILES=""
41-
42-
# Method 1: Standard structure
43-
echo "Trying standard JSON structure..."
44-
FAILED_FILES=$(cat "$E2E_RESULT_FILEPATH" | jq -r '[.suites[] | (if has("suites") then .suites[] | .specs[] else .specs[] end) | select(.tests[].status == "unexpected") | .file] | unique | .[]' 2>/dev/null)
45-
46-
# Method 2: Direct specs structure
47-
if [[ -z "$FAILED_FILES" ]]; then
48-
echo "Trying direct specs structure..."
49-
FAILED_FILES=$(cat "$E2E_RESULT_FILEPATH" | jq -r '[.suites[] | .specs[] | select(.tests[].status == "unexpected") | .file] | unique | .[]' 2>/dev/null)
50-
fi
51-
52-
# Method 3: Look for any file with unexpected status
53-
if [[ -z "$FAILED_FILES" ]]; then
54-
echo "Trying to find any file with unexpected status..."
55-
FAILED_FILES=$(cat "$E2E_RESULT_FILEPATH" | jq -r '[.. | select(.status? == "unexpected") | .file] | unique | .[]' 2>/dev/null)
56-
fi
57-
58-
# Method 4: Look for files in test results
59-
if [[ -z "$FAILED_FILES" ]]; then
60-
echo "Trying to extract from test results..."
61-
FAILED_FILES=$(cat "$E2E_RESULT_FILEPATH" | jq -r '[.suites[] | .specs[] | select(.tests[] | .status == "unexpected") | .file] | unique | .[]' 2>/dev/null)
62-
fi
38+
FAILED_FILES=$(cat "$E2E_RESULT_FILEPATH" | jq -r '[.suites[] | .specs[] | select(.tests[].status == "unexpected") | .file] | unique | .[]' 2>/dev/null)
6339
6440
if [[ -n "$FAILED_FILES" ]]; then
6541
echo "Retrying failed test files: $FAILED_FILES"
@@ -70,6 +46,7 @@ runs:
7046
echo "JSON keys: $(cat "$E2E_RESULT_FILEPATH" | jq -r 'keys | .[]' 2>/dev/null || echo "Failed to get keys")"
7147
echo "Has suites: $(cat "$E2E_RESULT_FILEPATH" | jq -r 'has("suites")' 2>/dev/null || echo "Failed to check suites")"
7248
echo "Suites count: $(cat "$E2E_RESULT_FILEPATH" | jq -r '.suites | length' 2>/dev/null || echo "Failed to get suites count")"
49+
echo "First suite structure: $(cat "$E2E_RESULT_FILEPATH" | jq -r '.suites[0] | keys | .[]' 2>/dev/null || echo "Failed to get first suite keys")"
7350
fi
7451
else
7552
echo "Error: Results file not found at $E2E_RESULT_FILEPATH"

0 commit comments

Comments
 (0)