Initial commit: AetherForge Linux (forge-mesh) v0.1.0-dev
Some checks failed
Test / test (push) Has been cancelled
Some checks failed
Test / test (push) Has been cancelled
This commit is contained in:
48
scripts/test-cli.sh
Executable file
48
scripts/test-cli.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
# CLI smoke tests for forge-mesh forge and agent binaries
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
export GOROOT="${GOROOT:-/usr/local/go}"
|
||||
export PATH="${GOROOT}/bin:${PATH}"
|
||||
|
||||
CLI_CONFIG="/tmp/forge-mesh-cli-config.json"
|
||||
CLI_DIR="/tmp/forge-mesh-cli"
|
||||
mkdir -p "${CLI_DIR}"
|
||||
|
||||
cat > "${CLI_CONFIG}" <<EOF
|
||||
{
|
||||
"listen_addr": ":0",
|
||||
"data_dir": "${CLI_DIR}",
|
||||
"database_path": "${CLI_DIR}/cli.db",
|
||||
"auth": {
|
||||
"basic_username": "admin",
|
||||
"basic_password": "changeme",
|
||||
"fleet_secret": "cli-test-secret"
|
||||
},
|
||||
"forge": {
|
||||
"signing_key_path": "${CLI_DIR}/signing.key",
|
||||
"artifacts_dir": "${CLI_DIR}/artifacts"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "==> [cli] building forge CLI + agent"
|
||||
make -C "${ROOT}" agent
|
||||
go build -o "${CLI_DIR}/forge" ./cmd/forge
|
||||
|
||||
echo "==> [cli] forge pubkey"
|
||||
PUBKEY="$("${CLI_DIR}/forge" pubkey --config "${CLI_CONFIG}")"
|
||||
[[ -n "${PUBKEY}" ]] || { echo "empty pubkey"; exit 1; }
|
||||
echo " pubkey: ${PUBKEY:0:16}..."
|
||||
|
||||
echo "==> [cli] forge build (public artifacts)"
|
||||
BUILD_OUT="$("${CLI_DIR}/forge" build --config "${CLI_CONFIG}" --public 2>&1)"
|
||||
echo "${BUILD_OUT}" | grep -q 'built linux/amd64' || { echo "${BUILD_OUT}"; exit 1; }
|
||||
|
||||
echo "==> [cli] agent --help exits cleanly"
|
||||
./bin/forge-mesh-agent -h 2>&1 | grep -q 'deck' || ./bin/forge-mesh-agent 2>&1 | grep -q 'fleet secret'
|
||||
|
||||
echo "✓ cli tests passed"
|
||||
Reference in New Issue
Block a user