@@ -28,38 +28,14 @@ runs:
28
28
shell : bash
29
29
# Filter failed E2E files from the result JSON file, and re-run them.
30
30
run : |
31
- # Debug: Check if results file exists
31
+ # Check if results file exists
32
32
echo "Checking for results file: $E2E_RESULT_FILEPATH"
33
33
if [[ -f "$E2E_RESULT_FILEPATH" ]]; then
34
34
echo "Results file exists, size: $(wc -c < "$E2E_RESULT_FILEPATH") bytes"
35
35
36
- # Extract failed test files and run only those
36
+ # Extract failed test files using the correct JSON structure
37
37
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)
63
39
64
40
if [[ -n "$FAILED_FILES" ]]; then
65
41
echo "Retrying failed test files: $FAILED_FILES"
70
46
echo "JSON keys: $(cat "$E2E_RESULT_FILEPATH" | jq -r 'keys | .[]' 2>/dev/null || echo "Failed to get keys")"
71
47
echo "Has suites: $(cat "$E2E_RESULT_FILEPATH" | jq -r 'has("suites")' 2>/dev/null || echo "Failed to check suites")"
72
48
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")"
73
50
fi
74
51
else
75
52
echo "Error: Results file not found at $E2E_RESULT_FILEPATH"
0 commit comments