df92e3f94c
ci / check (push) Has been cancelled
Pivot ecomm from a generic multi-tenant Shopify-alternative storefront to the commitment-commerce + cross-maker verified referral NETWORK direction (ecomm-content/rfcs/network_strategy.md; OHM identity/relationality super-drafts). Phase A of the reset — clear the decks: - Strip the storefront surfaces with no carry-forward: the storefronts domain, the products import/export/image HTTP spine (service/imagefetch/repo + endpoints), the SPA frontend, and the Playwright e2e suite. - Keep the reusable core: /healthz + /api/auth/* (accounts); the catalog-normalization library (codec/dialect/models/serialize/validate/diff/hosted — importable, no HTTP yet); platform/* infra. Migrations untouched (append-only). - Reduce check.sh to backend-only (import-linter + pytest); trim dev.sh and the unused GCS overlay env. Repoint app.json/README/CLAUDE.md; bump VERSION 0.8.0 -> 0.9.0. check.sh green: import-linter (main > domains > platform) KEPT, pytest passing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# The single pre-merge gate for wiggleverse-ecomm (SD-0001 §6.8). Runs, in order:
|
|
# 1. the import-linter layering contract (main > domains > platform)
|
|
# 2. the backend test suite (pytest, against Postgres)
|
|
# The network-seed reset stripped the SPA frontend, so the frontend typecheck/build
|
|
# and vitest steps are gone — this is a backend-only gate now.
|
|
# CI (.gitea/workflows/ci.yml) calls this exact script, so local and server gates
|
|
# cannot drift. Exits non-zero on the first failure.
|
|
#
|
|
# Requires a reachable Postgres for the backend tests: locally the compose service
|
|
# (scripts/dev.sh brings it up); in CI a Postgres service container. Override its
|
|
# admin DSN with ECOMM_TEST_ADMIN_URL.
|
|
set -euo pipefail
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
# Pick an interpreter: explicit $PYTHON (CI), else the repo venv, else PATH.
|
|
if [ -n "${PYTHON:-}" ]; then
|
|
PY="$PYTHON"
|
|
elif [ -x "$repo_root/.venv/bin/python" ]; then
|
|
PY="$repo_root/.venv/bin/python"
|
|
else
|
|
PY="$(command -v python3 || command -v python)"
|
|
fi
|
|
|
|
lint="$(dirname "$PY")/lint-imports"
|
|
[ -x "$lint" ] || lint="lint-imports"
|
|
|
|
echo "==> import boundaries (lint-imports)"
|
|
( cd "$repo_root/backend" && "$lint" )
|
|
|
|
echo "==> backend tests (pytest)"
|
|
( cd "$repo_root/backend" && "$PY" -m pytest -q )
|
|
|
|
echo "==> all gates green"
|