Initial commit: NexusOS - local AI assistant platform
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
# One command that answers "is this shippable" - Python tests + frontend lint.
|
||||
#
|
||||
# ponytail: this IS the CI. The remote is self-hosted Gitea with no act_runner,
|
||||
# so a .github/workflows file would never execute. Run this before tagging a
|
||||
# release; wire it to a runner the day one exists.
|
||||
set -uo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
fail=0
|
||||
|
||||
if [ ! -x Promethean/bin/python ]; then
|
||||
echo "!! no Promethean venv - run bin/install.sh first" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "== pytest =="
|
||||
# Explicit dirs: a bare `pytest` would walk Promethean/ and node_modules too.
|
||||
Promethean/bin/python -m pytest -q tests management || fail=1
|
||||
|
||||
echo "== eslint =="
|
||||
if [ -d interface/web/node_modules ]; then
|
||||
(cd interface/web && npm run lint) || fail=1
|
||||
else
|
||||
echo "-- skipped: interface/web/node_modules missing (npm install)"
|
||||
fi
|
||||
|
||||
echo "== powershell parse =="
|
||||
# The Windows installer has died at parse twice. Cheap to catch here if pwsh
|
||||
# happens to be installed on the Linux box; the ASCII guard in tests/ is the
|
||||
# portable half of the same check.
|
||||
if command -v pwsh >/dev/null; then
|
||||
for f in install-windows.ps1 launch_nexus.ps1; do
|
||||
pwsh -NoProfile -Command "\$e=\$null
|
||||
[System.Management.Automation.Language.Parser]::ParseFile('$f',[ref]\$null,[ref]\$e) | Out-Null
|
||||
if (\$e) { \$e | ForEach-Object { Write-Host '$f:' \$_.Message }; exit 1 }" || fail=1
|
||||
done
|
||||
else
|
||||
echo "-- skipped: pwsh not installed"
|
||||
fi
|
||||
|
||||
[ "$fail" -eq 0 ] && echo "OK" || echo "FAILED"
|
||||
exit "$fail"
|
||||
Reference in New Issue
Block a user