NS-21: fix GdUnit CI path casing; preflight and README note

Linux res:// paths are case-sensitive; gdunit4 breaks, gdUnit4 is correct.
pull/26/head
VinPropane 2026-04-06 22:27:36 -04:00
parent f09517af6a
commit 7b2c35f57c
2 changed files with 15 additions and 1 deletions

View File

@ -23,6 +23,9 @@ on:
jobs:
lint_and_test:
runs-on: ubuntu-latest
# Folder is addons/gdUnit4 (capital U). Lowercase gdunit4 fails on Linux (case-sensitive res://).
env:
GDUNIT_CMDTOOL: res://addons/gdUnit4/bin/GdUnitCmdTool.gd
steps:
- uses: actions/checkout@v4
@ -58,7 +61,16 @@ jobs:
working-directory: client
run: ~/godot/Godot_v4.6-stable_linux.x86_64 --headless --import --path . --quit-after 10
- name: Verify GDUnit path (Linux res:// is case-sensitive)
working-directory: client
run: |
test -f addons/gdUnit4/bin/GdUnitCmdTool.gd || {
echo "::error::Missing GdUnit CLI script. Use addons/gdUnit4 (capital U), not gdunit4."
ls -la addons/ || true
exit 1
}
- name: GDUnit4 (headless)
working-directory: client
run: |
~/godot/Godot_v4.6-stable_linux.x86_64 --headless --path . -s res://addons/gdUnit4/bin/GdUnitCmdTool.gd --ignoreHeadlessMode -a res://test
~/godot/Godot_v4.6-stable_linux.x86_64 --headless --path . -s "$GDUNIT_CMDTOOL" --ignoreHeadlessMode -a res://test

View File

@ -98,6 +98,8 @@ godot --headless --import --path . --quit-after 8
godot --headless --path . -s res://addons/gdUnit4/bin/GdUnitCmdTool.gd --ignoreHeadlessMode -a res://test
```
On **Linux** (including GitHub Actions), the path must be **`gdUnit4`** with a capital **`U`**; `gdunit4` does not resolve.
**Scope:** Unit tests cover **`player.gd`**, **`position_authority_client.gd`**, and **`ground_pick.gd`** (walkable collider check). **`main.gd`**, full **`_input` / ray pick** flows, and scene wiring are **not** automated here—use manual checks above.
**Reports:** GdUnit writes under **`reports/`** (gitignored); ignore locally generated HTML/XML when committing.