83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
name: Full verification
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- feature/ai-brain-router
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
application:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 11.25.0
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- run: pnpm install --frozen-lockfile
|
|
- name: Core and simulation tests
|
|
run: node scripts/test-core.mjs
|
|
- name: Production build
|
|
run: pnpm build
|
|
- name: Validate deployment shell scripts
|
|
run: |
|
|
bash -n deploy/playable/*.sh
|
|
bash -n deploy/pc-lab/*.sh
|
|
- name: Validate Windows PowerShell helpers
|
|
shell: pwsh
|
|
run: |
|
|
$ErrorActionPreference = 'Stop'
|
|
$files = Get-ChildItem deploy/pc-lab/*.ps1
|
|
foreach ($file in $files) {
|
|
$tokens = $null
|
|
$errors = $null
|
|
[System.Management.Automation.Language.Parser]::ParseFile($file.FullName, [ref]$tokens, [ref]$errors) | Out-Null
|
|
if ($errors.Count -gt 0) {
|
|
$errors | ForEach-Object { Write-Error $_.Message }
|
|
throw "PowerShell parse failed: $($file.Name)"
|
|
}
|
|
}
|
|
- name: Validate ALE bridge Lua syntax
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y lua5.4
|
|
luac5.4 -p ale/azerothai_bridge.lua
|
|
- name: Lint (advisory while prototype debt is cleaned up)
|
|
continue-on-error: true
|
|
run: pnpm lint
|
|
|
|
local-brain:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 11.25.0
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- run: pnpm install --frozen-lockfile
|
|
- name: Install Ollama
|
|
run: curl -fsSL https://ollama.com/install.sh | sh
|
|
- name: Start Ollama
|
|
run: |
|
|
nohup ollama serve >/tmp/ollama.log 2>&1 &
|
|
for i in {1..30}; do
|
|
if curl -fsS http://127.0.0.1:11434/api/tags >/dev/null; then exit 0; fi
|
|
sleep 2
|
|
done
|
|
cat /tmp/ollama.log
|
|
exit 1
|
|
- name: Pull Qwen3.5 4B
|
|
run: ollama pull qwen3.5:4b
|
|
- name: Run one real AzerothAI brain decision
|
|
env:
|
|
OLLAMA_URL: http://127.0.0.1:11434
|
|
MODEL: qwen3.5:4b
|
|
run: node scripts/smoke-brain.mjs
|