mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
267f378a03
## Summary - remove executable Claude print inventory probes from headless runtime validation - keep Claude Code coverage to non-print plugin/load structural checks - keep Codex as the runtime that performs headless skill inventory comparison - update release smoke and tests so mocks reject Claude `-p` paths ## Local validation - `bash scripts/regen-all.sh --check` - `bash -n scripts/validate-headless-runtime-skills.sh tests/claude-code/run-all.sh tests/claude-code/test-helpers.sh tests/release-smoke-test.sh tests/scripts/test-headless-runtime-skills.sh` - `shellcheck scripts/validate-headless-runtime-skills.sh tests/claude-code/run-all.sh tests/claude-code/test-helpers.sh tests/release-smoke-test.sh tests/scripts/test-headless-runtime-skills.sh` - `bash /Users/bo/acfs/skill-pipeline/scripts/no-api-print-scan.sh "$PWD/skills" "$PWD/scripts" "$PWD/hooks" "$PWD/lib" "$PWD/tests"` - `bash tests/scripts/test-headless-runtime-skills.sh` - `bash tests/release-smoke-test.sh && bash tests/release-smoke-test.sh --full` - `git diff --check`
101 lines
3.7 KiB
Bash
Executable File
101 lines
3.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Release smoke test - verify all skills are packaged and structurally loadable
|
|
# Usage: ./tests/release-smoke-test.sh [--full]
|
|
#
|
|
# Default: Fast verification (~30s) - checks components are registered
|
|
# --full: Runs structural runtime smoke checks; does not spawn headless workers
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
# shellcheck source=tests/claude-code/test-helpers.sh
|
|
source "$SCRIPT_DIR/claude-code/test-helpers.sh"
|
|
|
|
# Logging (redefine to avoid conflict with macOS log command)
|
|
log() { echo -e "${BLUE}[TEST]${NC} $1"; }
|
|
pass() { echo -e "${GREEN} ✓${NC} $1"; }
|
|
fail() { echo -e "${RED} ✗${NC} $1"; }
|
|
|
|
# Expected counts — computed dynamically from skill directories
|
|
EXPECTED_SKILLS=$(find "$REPO_ROOT/skills" -maxdepth 2 -name SKILL.md -type f | wc -l | tr -d ' ')
|
|
|
|
# Parse args
|
|
FULL_TEST=false
|
|
[[ "${1:-}" == "--full" ]] && FULL_TEST=true
|
|
[[ "${1:-}" == "--help" ]] && { echo "Usage: $0 [--full]"; echo " --full Run slow individual tests (~10min)"; exit 0; }
|
|
|
|
echo ""
|
|
echo "═══════════════════════════════════════════"
|
|
echo " AgentOps Release Smoke Test"
|
|
echo "═══════════════════════════════════════════"
|
|
echo ""
|
|
|
|
if $FULL_TEST; then
|
|
# =========================================================================
|
|
# FULL TEST: Structural runtime checks
|
|
# =========================================================================
|
|
log "Running FULL test (structural runtime smoke)..."
|
|
passed=0
|
|
failed=0
|
|
|
|
if bash "$REPO_ROOT/tests/skills/test-runtime-claude-code-smoke.sh"; then
|
|
pass "Claude Code structural runtime smoke"
|
|
((passed++)) || true
|
|
else
|
|
fail "Claude Code structural runtime smoke"
|
|
((failed++)) || true
|
|
fi
|
|
|
|
if bash "$REPO_ROOT/tests/skills/test-runtime-codex-smoke.sh"; then
|
|
pass "Codex structural runtime smoke"
|
|
((passed++)) || true
|
|
else
|
|
fail "Codex structural runtime smoke"
|
|
((failed++)) || true
|
|
fi
|
|
|
|
print_summary "$passed" "$failed" 0
|
|
exit $((failed > 0))
|
|
fi
|
|
|
|
# =============================================================================
|
|
# FAST TEST: Single prompt to verify all components are registered
|
|
# =============================================================================
|
|
log "Running FAST test (registration check)..."
|
|
echo ""
|
|
|
|
skill_count="$EXPECTED_SKILLS"
|
|
|
|
echo ""
|
|
echo -e "${BLUE}═══════════════════════════════════════════${NC}"
|
|
echo "Release Smoke Test Results"
|
|
echo -e "${BLUE}───────────────────────────────────────────${NC}"
|
|
|
|
passed=0
|
|
failed=0
|
|
|
|
# Check skills
|
|
if [[ "$skill_count" -ge "$EXPECTED_SKILLS" ]]; then
|
|
pass "Skills: $skill_count found (expected $EXPECTED_SKILLS)"
|
|
((passed++)) || true
|
|
else
|
|
fail "Skills: $skill_count found (expected $EXPECTED_SKILLS)"
|
|
((failed++)) || true
|
|
fi
|
|
|
|
echo -e "${BLUE}───────────────────────────────────────────${NC}"
|
|
echo -e " Total: ${GREEN}$passed passed${NC}, ${RED}$failed failed${NC}"
|
|
echo -e "${BLUE}═══════════════════════════════════════════${NC}"
|
|
|
|
if [[ $failed -gt 0 ]]; then
|
|
echo ""
|
|
echo -e "${RED}RELEASE BLOCKED${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${GREEN}RELEASE READY: All components registered${NC}"
|
|
exit 0
|