77 lines
2.5 KiB
Bash
77 lines
2.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="/mnt/DATA/git/govoplan-core"
|
|
NODE="/home/zemion/.nvm/versions/node/v22.22.3/bin"
|
|
NPM="$NODE/npm"
|
|
WEBUI_BIN="$ROOT/webui/node_modules/.bin"
|
|
NPM_USERCONFIG="$(mktemp "${TMPDIR:-/tmp}/govoplan-npmrc.XXXXXXXX")"
|
|
|
|
trap 'rm -f "$NPM_USERCONFIG"' EXIT
|
|
|
|
export PATH="$WEBUI_BIN:$NODE:$PATH"
|
|
export NPM_CONFIG_USERCONFIG="$NPM_USERCONFIG"
|
|
export GOVOPLAN_NPM_USERCONFIG="$NPM_USERCONFIG"
|
|
unset npm_config_tmp NPM_CONFIG_TMP
|
|
|
|
cd "$ROOT"
|
|
|
|
CHECK_TESTCLIENT_DEPRECATIONS=1 bash scripts/check-dependency-hygiene.sh
|
|
|
|
./.venv/bin/python - <<'PY'
|
|
import ast
|
|
import pathlib
|
|
import sys
|
|
|
|
roots = [
|
|
pathlib.Path("/mnt/DATA/git/govoplan-core/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-access/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-admin/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-tenancy/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-organizations/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-identity/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-policy/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-audit/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-mail/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-files/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-campaign/src"),
|
|
pathlib.Path("/mnt/DATA/git/govoplan-mail/tests"),
|
|
]
|
|
|
|
errors = []
|
|
count = 0
|
|
for root in roots:
|
|
if not root.exists():
|
|
continue
|
|
for path in root.rglob("*.py"):
|
|
count += 1
|
|
try:
|
|
ast.parse(path.read_text(), filename=str(path))
|
|
except SyntaxError as exc:
|
|
errors.append(f"{path}:{exc.lineno}:{exc.offset}: {exc.msg}")
|
|
|
|
if errors:
|
|
print("\n".join(errors))
|
|
sys.exit(1)
|
|
|
|
print(f"AST syntax check passed for {count} Python files")
|
|
PY
|
|
|
|
./.venv/bin/python -c 'import govoplan_core.db.bootstrap; import govoplan_access.backend.admin.service; import govoplan_files.backend.router; import govoplan_mail.backend.sending.imap; print("targeted backend imports passed")'
|
|
./.venv/bin/python scripts/check_dependency_boundaries.py
|
|
./.venv/bin/python -m unittest tests.test_module_system
|
|
./.venv/bin/python -m unittest discover -s /mnt/DATA/git/govoplan-mail/tests
|
|
./.venv/bin/python -m unittest tests.test_api_smoke.ApiSmokeTests.test_mailbox_message_listing_reports_total_count
|
|
|
|
cd "$ROOT/webui"
|
|
"$NPM" run test:mail-components
|
|
"$NPM" run test:module-capabilities
|
|
"$NPM" run test:module-permutations
|
|
|
|
cd /mnt/DATA/git/govoplan-mail/webui
|
|
"$NPM" run test:mail-ui
|
|
|
|
cd /mnt/DATA/git/govoplan-campaign/webui
|
|
"$NPM" run test:policy-ui
|
|
"$NPM" run test:template-preview
|