| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| |
| |
|
|
| |
| source "$(dirname "$0")/setup-go-workspace.sh" |
|
|
| echo "π§ͺ Running core tests..." |
|
|
| |
| echo "π§ Building MCP test servers..." |
| for mcp_dir in examples/mcps/*/; do |
| if [ -d "$mcp_dir" ]; then |
| mcp_name=$(basename "$mcp_dir") |
| if [ -f "$mcp_dir/go.mod" ]; then |
| echo " Building $mcp_name (Go)..." |
| mkdir -p "$mcp_dir/bin" |
| pushd "$mcp_dir" > /dev/null |
| GOWORK=off go build -o "bin/$mcp_name" . |
| popd > /dev/null |
| elif [ -f "$mcp_dir/package.json" ]; then |
| echo " Building $mcp_name (TypeScript)..." |
| pushd "$mcp_dir" > /dev/null |
| npm install --silent && npm run build |
| popd > /dev/null |
| fi |
| fi |
| done |
| echo "β
MCP test servers built" |
|
|
| |
| echo "π¨ Validating core build..." |
| cd core |
| go mod download |
| go build ./... |
| echo "β
Core build validation successful" |
|
|
| |
| echo "π§ͺ Running core tests with coverage..." |
| go test -race -timeout 20m -coverprofile=coverage.txt -coverpkg=./... ./... |
|
|
| |
| if [ -n "${CODECOV_TOKEN:-}" ]; then |
| echo "π Uploading coverage to Codecov..." |
| curl -Os https://uploader.codecov.io/latest/linux/codecov |
| chmod +x codecov |
| ./codecov -t "$CODECOV_TOKEN" -f coverage.txt -F core |
| rm -f codecov coverage.txt |
| else |
| echo "βΉοΈ CODECOV_TOKEN not set, skipping coverage upload" |
| rm -f coverage.txt |
| fi |
| cd .. |
|
|
| echo "β
Core tests completed successfully" |
|
|