55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
name: Automated Tests
|
||
|
||
# 注意:本仓库 2026-09-12 尚未初始化 git——本 workflow 在首次 push 到 GitHub 后自动生效。
|
||
# 载体 = ADR-0004(双载体):逻辑冒烟 + 场景探针;gdUnit4 deferred(不使用 gdUnit4-action)。
|
||
# 外部 wall-clock 超时(timeout 命令)为 ADR-0004 硬性要求——引擎自身无死锁探测。
|
||
|
||
on:
|
||
push:
|
||
branches: [main]
|
||
pull_request:
|
||
branches: [main]
|
||
|
||
jobs:
|
||
static-scan:
|
||
name: Static scan (ADR-0004 S1–S8)
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Run static scan
|
||
run: bash tests/static_scan.sh
|
||
|
||
smoke:
|
||
name: Headless smoke (Godot 4.7.2)
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Setup Godot 4.7.2
|
||
uses: nikeee/godot-actions/setup-godot@v2
|
||
with:
|
||
version: 4.7.2
|
||
|
||
# 逻辑冒烟(run_all.gd 内登记套件 manifest;正式工程落地后生效)
|
||
- name: Run smoke runner (external timeout per ADR-0004)
|
||
run: timeout 120s godot --headless --script tests/run_all.gd
|
||
|
||
# 场景探针(正式工程落地后逐条登记,示例形态):
|
||
# - name: Run UI probes
|
||
# run: |
|
||
# timeout 60s godot --headless --path . res://tests/probes/ui_probe.tscn
|
||
# timeout 60s godot --headless --path . res://tests/probes/ui_click_probe.tscn
|
||
|
||
- name: Upload Test Results
|
||
if: always()
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: test-results
|
||
path: |
|
||
logs/
|
||
reports/
|
||
if-no-files-found: ignore
|