64 lines
2.0 KiB
Bash
64 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
if python3 --version >/dev/null 2>&1; then
|
|
PYTHON=python3
|
|
elif python --version >/dev/null 2>&1; then
|
|
PYTHON=python
|
|
else
|
|
echo "ERROR: Python 3 is required." >&2
|
|
exit 2
|
|
fi
|
|
|
|
GO_PATH="$(go env GOPATH)"
|
|
if command -v cygpath >/dev/null 2>&1; then
|
|
GO_PATH="$(cygpath -u "$GO_PATH")"
|
|
fi
|
|
GO_BIN="$GO_PATH/bin"
|
|
if [ -x "$GO_BIN/go1.20.14" ] || [ -x "$GO_BIN/go1.20.14.exe" ]; then
|
|
export PATH="$GO_BIN:$PATH"
|
|
fi
|
|
|
|
mkdir -p dist
|
|
|
|
echo "==> Sync root workspace"
|
|
GOTOOLCHAIN=go1.25.0 go work sync
|
|
|
|
echo "==> Validate harness governance"
|
|
"$PYTHON" scripts/validate_agent_context.py
|
|
"$PYTHON" -m unittest discover -s tests -p "test_*.py"
|
|
"$PYTHON" scripts/validate_harness_governance.py
|
|
|
|
echo "==> Validate core architecture boundary"
|
|
"$PYTHON" scripts/check_core_boundaries.py --self-test
|
|
"$PYTHON" scripts/check_core_boundaries.py
|
|
|
|
echo "==> Validate Go and dependency pins"
|
|
GOTOOLCHAIN=go1.20.14 "$PYTHON" scripts/check_go_versions.py
|
|
|
|
echo "==> Vet and test core with Go 1.20.14"
|
|
GOTOOLCHAIN=go1.20.14 GOWORK=off go -C core vet ./...
|
|
GOTOOLCHAIN=go1.20.14 GOWORK=off go -C core test -count=1 ./...
|
|
|
|
echo "==> Test and build modern target with Go 1.25.0"
|
|
GOTOOLCHAIN=go1.25.0 GOWORK="$ROOT_DIR/go.work" CGO_ENABLED=0 \
|
|
go -C app-modern test -count=1 ./ui/gio ./platform/windows
|
|
GOTOOLCHAIN=go1.25.0 GOWORK="$ROOT_DIR/go.work" CGO_ENABLED=0 \
|
|
GOOS=windows GOARCH=amd64 \
|
|
go -C app-modern build -trimpath -ldflags="-H=windowsgui" \
|
|
-o ../dist/SoftBox.exe ./cmd/softbox
|
|
|
|
echo "==> Test and build Win7 target with Go 1.20.14"
|
|
GOTOOLCHAIN=go1.20.14 GOWORK="$ROOT_DIR/app-win7/go.work" CGO_ENABLED=0 \
|
|
go -C app-win7 test -count=1 ./ui/gio ./platform/windows
|
|
GOTOOLCHAIN=go1.20.14 GOWORK="$ROOT_DIR/app-win7/go.work" CGO_ENABLED=0 \
|
|
GOOS=windows GOARCH=amd64 \
|
|
go -C app-win7 build -trimpath -ldflags="-H=windowsgui" \
|
|
-o ../dist/SoftBox-win7.exe ./cmd/softbox
|
|
|
|
echo "Phase 0 verification passed."
|