feat(telemetry): add reusable human eval helpers #329
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ci: | |
| name: Build, Test & Typecheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| - run: npm ci | |
| # Build all packages in dependency order before tests/typecheck. dist/ is | |
| # no longer committed (see chore/untrack-dist-artifacts), so every | |
| # workspace consumer needs its dep's dist on disk before tsc/vitest can | |
| # resolve `@agent-assistant/*` imports. | |
| # | |
| # Topological order: | |
| # traits, routing, connectivity, memory, vfs — leaves | |
| # core (traits), coordination (connectivity, routing) | |
| # surfaces, sessions, policy | |
| # harness (traits, core, connectivity, coordination, vfs) | |
| # turn-context (traits, harness, memory) | |
| # proactive (surfaces), inbox (turn-context), continuation | |
| # telemetry (harness), specialists (coordination, vfs) | |
| # sdk (re-exports), webhook-runtime (specialists) | |
| - name: Build packages in dependency order | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| ORDER=( | |
| traits routing connectivity memory vfs | |
| core coordination | |
| surfaces sessions policy | |
| harness | |
| turn-context | |
| proactive inbox continuation | |
| telemetry specialists | |
| sdk webhook-runtime | |
| ) | |
| for pkg in "${ORDER[@]}"; do | |
| if [ -f "packages/$pkg/package.json" ] && jq -e '.scripts.build' "packages/$pkg/package.json" >/dev/null; then | |
| echo "==> Building $pkg" | |
| npm run build -w "@agent-assistant/$pkg" | |
| fi | |
| done | |
| # Tests — publishable packages only | |
| - name: Run tests — traits | |
| working-directory: packages/traits | |
| run: npx vitest run | |
| - name: Run tests — core | |
| working-directory: packages/core | |
| run: npx vitest run | |
| - name: Run tests — sessions | |
| working-directory: packages/sessions | |
| run: npx vitest run | |
| - name: Run tests — surfaces | |
| working-directory: packages/surfaces | |
| run: npx vitest run | |
| - name: Run tests — vfs | |
| working-directory: packages/vfs | |
| run: npx vitest run | |
| - name: Run tests — harness | |
| working-directory: packages/harness | |
| run: npx vitest run | |
| - name: Run tests — telemetry | |
| working-directory: packages/telemetry | |
| run: npx vitest run | |
| - name: Run tests — proactive | |
| working-directory: packages/proactive | |
| run: npx vitest run | |
| # Typecheck — runs after the dependency-ordered build above so all | |
| # workspace dist/ folders are populated. | |
| - name: Typecheck — traits | |
| working-directory: packages/traits | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — core | |
| working-directory: packages/core | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — sessions | |
| working-directory: packages/sessions | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — surfaces | |
| working-directory: packages/surfaces | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — proactive | |
| working-directory: packages/proactive | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — vfs | |
| working-directory: packages/vfs | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Typecheck — telemetry | |
| working-directory: packages/telemetry | |
| run: npx tsc --noEmit -p tsconfig.json | |
| - name: Verify no test artifacts in dist | |
| run: | | |
| FAIL=0 | |
| for pkg in traits core sessions surfaces vfs telemetry; do | |
| if find "packages/$pkg/dist" -name '*.test.*' 2>/dev/null | grep -q .; then | |
| echo "ERROR: test artifacts found in packages/$pkg/dist/" | |
| find "packages/$pkg/dist" -name '*.test.*' | |
| FAIL=1 | |
| fi | |
| done | |
| if [ "$FAIL" -eq 1 ]; then exit 1; fi | |
| echo "No test artifacts in dist — OK" |