Skip to content

Commit 952e9e0

Browse files
dsarnoclaude
andcommitted
CI: re-enable macOS Godot tests, fix timeout command
macOS doesn't have GNU timeout. The issue wasn't headless Godot failing to load plugins -- it was the timeout command not existing (exit 127), so Godot never started. Removed timeout usage on macOS and Windows. The ci-godot-tests script already has its own polling timeout for session connection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 34cbee2 commit 952e9e0

1 file changed

Lines changed: 39 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,43 @@ jobs:
6666
- name: Run handler tests
6767
run: bash script/ci-godot-tests
6868

69-
# macOS headless Godot doesn't load editor plugins reliably on CI runners.
70-
# GDScript handler behavior is platform-independent — covered by Linux + Windows.
71-
# macOS Python tests (Tier 1) still run above.
69+
godot-tests-macos:
70+
name: Godot tests / macOS
71+
runs-on: macos-latest
72+
73+
steps:
74+
- uses: actions/checkout@v4
75+
76+
- uses: chickensoft-games/setup-godot@v2
77+
with:
78+
version: 4.6.2
79+
use-dotnet: false
80+
81+
- name: Set up Python
82+
uses: actions/setup-python@v5
83+
with:
84+
python-version: "3.13"
85+
86+
- name: Install dependencies
87+
run: pip install -e ".[dev]"
88+
89+
- name: Start MCP server
90+
run: |
91+
python -m godot_ai --transport streamable-http --port 8000 &
92+
for i in $(seq 1 30); do
93+
curl -s -o /dev/null http://127.0.0.1:8000/mcp -X POST \
94+
-H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
95+
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"ci","version":"1.0"}}}' && echo "Server ready" && break
96+
sleep 1
97+
done
98+
99+
- name: Start Godot editor (headless)
100+
run: |
101+
godot --headless --path test_project --import || true
102+
godot --headless --path test_project --editor &
103+
104+
- name: Run handler tests
105+
run: bash script/ci-godot-tests
72106

73107
godot-tests-windows:
74108
name: Godot tests / Windows
@@ -104,8 +138,8 @@ jobs:
104138
- name: Start Godot editor (headless)
105139
shell: bash
106140
run: |
107-
timeout 30 godot --headless --path test_project --import || true
108-
timeout 120 godot --headless --path test_project --editor &
141+
godot --headless --path test_project --import || true
142+
godot --headless --path test_project --editor &
109143
110144
- name: Run handler tests
111145
shell: bash

0 commit comments

Comments
 (0)