Orient Release Testing

VerifiedSafe

Comprehensive testing guide for Orient releases before shipping. Covers unit tests, local installer E2E, CLI verification, integration tests, eval tests, and success criteria validation. Use to validate a new version or verify the installer.

Sby Skills Guide Bot
TestingIntermediate
706/2/2026
Claude Code
#release-testing#unit-tests#integration-tests#e2e-tests#installer

Recommended for

Our review

A comprehensive guide for testing Orient releases, covering unit tests, installer E2E tests, CLI verification, integration tests, eval tests, and success criteria validation.

Strengths

  • Systematic approach with clear phases and expected results.
  • Includes a quick test for rapid checks.
  • Provides troubleshooting and cleanup steps.
  • Defines success criteria with specific numeric thresholds.

Limitations

  • Requires environment setup (Node 20+, pnpm, PM2, Docker optionally).
  • Eval tests have known issues with OpenCode agent routing.
  • Some tests may fail due to environment (e.g., Docker not running).
When to use it

When preparing a new version of Orient for release and need to validate installation, functionality, and test coverage.

When not to use it

For routine development testing or when not working on an Orient release.

Security analysis

Safe
Quality score88/100

The skill only runs local development tests and health checks; it uses standard tools (pnpm, curl, sqlite3) on local resources, does not exfiltrate data, and includes no destructive or obfuscated commands. The ANTHROPIC_API_KEY is used locally and never transmitted externally.

No concerns found

Examples

Quick release test
Run quick release tests for Orient v0.5.0
Full release test suite
Test the new Orient release candidate thoroughly
Check installer E2E
Run installer E2E tests for Orient release

name: release-testing description: Comprehensive guide for testing Orient releases. Use this skill when asked to "test the release", "verify installation", "run release tests", "check v0.x.x", "validate installer", or when preparing a new version for release. Covers unit tests, installer E2E tests, CLI verification, integration tests, eval tests, and success criteria validation.

Orient Release Testing

Test releases systematically before shipping.

Quick Test (5 min)

pnpm test:unit                    # Should pass 240+ tests
orient doctor && orient status    # If installed
curl -s http://localhost:4098/health

Full Release Testing Sequence

Phase 1: Unit Tests

pnpm test:unit

Expected: ~244 passed, ~33 skipped Acceptable: Docker tests may fail if Docker isn't running (environment issue, not code bug)

Phase 2: Local Installer E2E

./installer/install-local.sh

This will:

  1. Check prerequisites (Node 20+, pnpm, PM2)
  2. Clean and rebuild all packages
  3. Copy to ~/.orient/
  4. Initialize SQLite database
  5. Start services via PM2
  6. Open dashboard

Phase 3: Verify Installation

# Load into current shell
export ORIENT_HOME="$HOME/.orient"
export PATH="$ORIENT_HOME/bin:$PATH"

# Run all checks
orient doctor        # All services should show online
orient status        # PM2 status table
orient version       # Should show correct version
orient logs --lines 5 --nostream  # Should show recent logs

# HTTP checks
curl -s http://localhost:4098/health | jq .  # {"status":"ok"}
curl -s -o /dev/null -w "%{http_code}" http://localhost:4098/     # 200
curl -s -o /dev/null -w "%{http_code}" http://localhost:4098/qr/  # 200

# Database verification
ls -la ~/.orient/data/sqlite/
sqlite3 ~/.orient/data/sqlite/orient.db ".tables"  # Should list 30+ tables

Phase 4: Integration Tests

./run.sh dev start
sleep 60  # Wait for services
INTEGRATION_TESTS=true pnpm test:integration
./run.sh dev stop

Expected: ~43 tests passing

Phase 5: Eval Tests

# Without API key (graceful skip)
pnpm test:eval  # Should pass with skip message

# With dev server running (full eval infrastructure test)
./run.sh dev start
ANTHROPIC_API_KEY=xxx pnpm test:eval
./run.sh dev stop

Requirements:

  1. ANTHROPIC_API_KEY environment variable
  2. Dev server running (./run.sh dev start) for OpenCode at localhost:4099

Known Limitation: The eval/OpenCode agent routing integration needs work. The eval infrastructure (loading, filtering, running) works correctly, but actual agent invocations through OpenCode may fail with session errors. Test will pass while logging a warning about this.

Success Criteria

| Check | Pass | Fail | | ----------------- | ----------------- | -------------------------------- | | Unit tests | 230+ passed | <200 passed or critical failures | | Integration tests | 40+ passed | <35 passed | | Services start | PM2 shows online | errored/stopped status | | Health endpoint | {"status":"ok"} | Connection refused or error | | Dashboard HTTP | 200 | 4xx/5xx | | QR endpoint HTTP | 200 | 4xx/5xx | | Database | 30+ tables | Missing tables or errors | | orient doctor | All green | Red status | | CLI commands | All work | Any command fails |

Cleanup

# Stop services
orient stop

# Full uninstall
orient uninstall --force

# Or manual cleanup
pm2 delete orient
rm -rf ~/.orient

Troubleshooting

Port 4098 in use: lsof -i :4098 then kill <PID>

PM2 not starting: Check logs with pm2 logs orient --lines 50

Database errors: Delete and reinitialize:

rm ~/.orient/data/sqlite/orient.db*
cd ~/.orient/orient && pnpm --filter @orientbot/database run db:push:sqlite

Build failures: Clean rebuild:

find packages -name "dist" -type d -maxdepth 2 -exec rm -rf {} +
rm -rf .turbo node_modules/.cache
pnpm install && pnpm run build:all
Related skills