Skip to content

Commit 787e639

Browse files
committed
ci: loop windows test + disable godot crash handler to locate flaky crash
1 parent 096508f commit 787e639

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

.github/workflows/go.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Go
22

33
on:
44
push:
5-
branches: ["release", "staging"]
5+
branches: ["release", "staging", "debug-windows-array-copy"]
66
pull_request:
77
branches: ["release"]
88

@@ -38,7 +38,18 @@ jobs:
3838
go build -o gd.exe
3939
4040
- name: Test
41+
env:
42+
GOTRACEBACK: crash
4143
run: |
4244
cd ./internal
43-
DEBUG_CMD=1 ../cmd/gd/gd.exe test -v
45+
if [[ "$RUNNER_OS" == "Windows" ]]; then
46+
# Loop to surface the flaky native crash and capture a Go traceback.
47+
for i in $(seq 1 6); do
48+
echo "::group::windows test run $i"
49+
DEBUG_CMD=1 ../cmd/gd/gd.exe test -v || { echo "FAILED on run $i"; exit 1; }
50+
echo "::endgroup::"
51+
done
52+
else
53+
DEBUG_CMD=1 ../cmd/gd/gd.exe test -v
54+
fi
4455
shell: bash

cmd/gd/internal/builder/windows.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,6 @@ func (Windows) Test(args ...string) error {
100100
if err := os.Chdir(project.GraphicsDirectory); err != nil {
101101
return xray.New(err)
102102
}
103-
args = append(args, "--headless")
103+
args = append(args, "--headless", "--disable-crash-handler")
104104
return tooling.Godot.Exec(args...)
105105
}

0 commit comments

Comments
 (0)