|
66 | 66 | - name: Run handler tests |
67 | 67 | run: bash script/ci-godot-tests |
68 | 68 |
|
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 |
72 | 106 |
|
73 | 107 | godot-tests-windows: |
74 | 108 | name: Godot tests / Windows |
@@ -104,8 +138,8 @@ jobs: |
104 | 138 | - name: Start Godot editor (headless) |
105 | 139 | shell: bash |
106 | 140 | 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 & |
109 | 143 |
|
110 | 144 | - name: Run handler tests |
111 | 145 | shell: bash |
|
0 commit comments